Saltar para o conteúdo principal
Versão: 20 R5 BETA

$catalog

O catálogo descreve todos os dataclasses e atributos disponíveis na datastore.

Sintaxe disponível

SintaxeExemploDescrição
$catalog/$catalogDevolve uma lista dos valores de referência do seu projecto juntamente com dois URIs
$catalog/$all/$catalog/$allDevolve informação sobre todos os dataclasses do seu projecto e os seus atributos
$catalog/{dataClass}/$catalog/EmployeeRetorna informação sobre um dataclass e os seus atributos
$catalog/DataStoreClassFunction/$catalog/authentifyExecutes the datastore class function if it exists

$catalog

Devolve uma lista dos dados do seu projecto juntamente com dois URIs: um para aceder à informação sobre a sua estrutura e outro para recuperar os dados no dataclass

Descrição

Cuando se llama a $catalog, se devuelve una lista de las clases de datos junto con dos URI para cada clase de datos en el almacén de datos de su proyecto.

Nesta lista apenas são mostrados os dataclasses expostos para a datastore do seu projecto. For more information, please refer to Exposing tables and fields section.

Aqui está uma descrição das propriedades devolvidas para cada dataclass na datastore do seu projecto:

PropriedadeTipoDescrição
nameStringNome da dataclass.
uriStringUm URI que lhe permite obter informações sobre o |dataclass e os seus atributos.
dataURIStringUma URI que lhe permite visualizar os dados no dataclass.

Exemplo

GET /rest/$catalog

Resultado:

{
dataClasses: [
{
name: "Company",
uri: "http://127.0.0.1:8081/rest/$catalog/Company",
dataURI: "http://127.0.0.1:8081/rest/Company"
},
{
name: "Employee",
uri: "http://127.0.0.1:8081/rest/$catalog/Employee",
dataURI: "http://127.0.0.1:8081/rest/Employee"
}
]
}

$catalog/$all

Devolve informação sobre todos os dataclasses do seu projecto e os seus atributos

Descrição

Llamando $catalog/$all puede recibir información detallada sobre los atributos de cada una de las clases de datos del modelo activo del proyecto.

For more information about what is returned for each dataclass and its attributes, use $catalog/{dataClass}.

Exemplo

GET /rest/$catalog/$all

Resultado:

{

"dataClasses": [
{
"name": "Company",
"className": "Company",
"collectionName": "CompanySelection",
"tableNumber": 2,
"scope": "public",
"dataURI": "/rest/Company",
"attributes": [
{
"name": "ID",
"kind": "storage",
"fieldPos": 1,
"scope": "public",
"indexed": true,
"type": "long",
"identifying": true
},
{
"name": "name",
"kind": "storage",
"fieldPos": 2,
"scope": "public",
"type": "string"
},
{
"name": "revenues",
"kind": "storage",
"fieldPos": 3,
"scope": "public",
"type": "number"
},
{
"name": "staff",
"kind": "relatedEntities",
"fieldPos": 4,
"scope": "public",
"type": "EmployeeSelection",
"reversePath": true,
"path": "employer"
},
{
"name": "url",
"kind": "storage",
"scope": "public",
"type": "string"
}
],
"key": [
{
"name": "ID"
}
]
},
{
"name": "Employee",
"className": "Employee",
"collectionName": "EmployeeSelection",
"tableNumber": 1,
"scope": "public",
"dataURI": "/rest/Employee",
"attributes": [
{
"name": "ID",
"kind": "storage",
"scope": "public",
"indexed": true,
"type": "long",
"identifying": true
},
{
"name": "firstname",
"kind": "storage",
"scope": "public",
"type": "string"
},
{
"name": "lastname",
"kind": "storage",
"scope": "public",
"type": "string"
},
{
"name": "employer",
"kind": "relatedEntity",
"scope": "public",
"type": "Company",
"path": "Company"
}
],
"key": [
{
"name": "ID"
}
]
}
]
}

$catalog/{dataClass}

Retorna informação sobre um dataclass e os seus atributos

Descrição

La llamada de $catalog/{dataClass} para una clase de datos específica devolverá la siguiente información sobre la clase de datos y los atributos que contiene. If you want to retrieve this information for all the dataclasses in your project's datastore, use $catalog/$all.

A informação que recupera diz respeito ao seguinte:

  • Dataclass
  • Atributo(s)
  • Método(s), caso exista(m)
  • Chave primária

DataClass

As seguintes propriedades são devolvidas para um dataclass exposto:

PropriedadeTipoDescrição
nameStringNome da dataclass
collectionNameStringNome de uma selecção de entidade no dataclass
tableNumberNumberNúmero da tabela na base de dados 4D
scopeStringAlcance de la clase de datos (tenga en cuenta que sólo se muestran las clases de datos cuyo Alcance es público)
dataURIStringUm URI para os dados no dataclass

Atributo(s)

Aqui estão as propriedades para cada atributo exposto que são devolvidas:

PropriedadeTipoDescrição
nameStringo nome de atributo.
kindStringTipo de atributo (armazenamento ou relatedEntity).
fieldPosNumberPosição do campo na tabela da base de dados).
scopeStringÂmbito do atributo (apenas aparecerão os atributos cujo âmbito seja Público).
indexedStringSi se seleccionó algún tipo de índice, esta propiedad devolverá true. Caso contrário, esta propriedade não aparece.
typeStringTipo de atributo (booleano, blob, byte, fecha, duración, imagen, long, long64, número, cadena, uuid o palabra) o la clase de datos para un atributo de relación N->1.
identifyingParâmetrosEsta propriedade retorna True se o atributo for a chave primária. Caso contrário, esta propriedade não aparece.
pathStringNome da relação de um atributo relatedEntity ou relateEntities.
foreignKeyStringforeignKey|String |For a relatedEntity attribute, name of the related attribute.|
inverseNameStringinverseName |String |Name of the opposite relation for a relatedEntity or relateEntities attribute.|

Chave primária

El objeto llave devuelve el nombre del atributo name definido como llave primaria para la clase de datos.

Exemplo

Pode recuperar a informação relativa a uma classe de dados específica.

GET /rest/$catalog/Employee

Resultado:

{
name: "Employee",
className: "Employee",
collectionName: "EmployeeCollection",
scope: "public",
dataURI: "http://127.0.0.1:8081/rest/Employee",
defaultTopSize: 20,
extraProperties: {
panelColor: "#76923C",
__CDATA: "\n\n\t\t\n",
panel: {
isOpen: "true",
pathVisible: "true",
__CDATA: "\n\n\t\t\t\n",
position: {
X: "394",
Y: "42"
}
}
},
attributes: [
{
name: "ID",
kind: "storage",
scope: "public",
indexed: true,
type: "long",
identifying: true
},
{
name: "firstName",
kind: "storage",
scope: "public",
type: "string"
},
{
name: "lastName",
kind: "storage",
scope: "public",
type: "string"
},
{
name: "fullName",
kind: "calculated",
scope: "public",
type: "string",
readOnly: true
},
{
name: "salary",
kind: "storage",
scope: "public",
type: "number",
defaultFormat: {
format: "$###,###.00"
}
},
{
name: "photo",
kind: "storage",
scope: "public",
type: "image"
},
{
name: "employer",
kind: "relatedEntity",
scope: "public",
type: "Company",
path: "Company"
},
{
name: "employerName",
kind: "alias",
scope: "public",

type: "string",
path: "employer.name",
readOnly: true
},
{
name: "description",
kind: "storage",
scope: "public",
type: "string",
multiLine: true
},
],
key: [
{
name: