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

$catalog

The catalog describes all the dataclasses, attributes, and interprocess (shared) singletons available in the project.

Sintaxe disponível

SintaxeExemploDescrição
$catalog/$catalogReturns shared singletons (if any) and a list of the dataclasses in your project along with two URIs
$catalog/$all/$catalog/$allReturns shared singletons (if any) and information about all of your project's dataclasses and their attributes
$catalog/{dataClass}/$catalog/EmployeeRetorna informação sobre um dataclass e os seus atributos
$catalog/DataStoreClassFunction/$catalog/authentifyExecuta a função de classe do datastore se ela existir

$catalog

Returns shared singletons (if any) and a list of the dataclasses in your project along with two URIs: one to access the information about its structure and one to retrieve the data in the 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. Para obter mais informações, consulte a seção Expondo tabelas e campos.

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

Returns shared singletons (if any) and information about all of your project's dataclasses and their attributes

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":

$catalog/{dataClass}

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

Descrição

Calling $catalog/\{dataClass\} for a specific dataclass will return the following information about the dataclass and the attributes it contains. 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:

singletons

If you have defined interprocess (shared) singletons containing at least one exposed function, a singletons section is added to the returned json for both the /$catalog and /$catalog/$all syntaxes. Ele contém a coleção de classes singleton como objetos com seu nome e métodos (ou seja, funções expostas).

As funções singleton podem ser chamadas por solicitações REST usando o comando $singleton.

Exemplo

GET /rest/$catalog/$all

Resultado:

{...
singletons": [
{
"name": "VehicleFactory",
"methods": [
{
"name": "buildVehicle",
"allowedOnHTTPGET": false,
"exposed": true
}
]
}
],

dataClasses: [...]
}