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

When you call $catalog, a list of the dataclasses is returned along with two URIs for each dataclass in your project's datastore.

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

Calling $catalog/$all allows you to receive detailed information about the attributes in each of the dataclasses in your project's active model.

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

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
scopeStringScope for the dataclass (note that only dataclasses whose Scope is public are displayed)
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).
indexedStringIf any Index Kind was selected, this property will return true. Caso contrário, esta propriedade não aparece.
typeStringAttribute type (bool, blob, byte, date, duration, image, long, long64, number, string, uuid, or word) or the dataclass for a N->1 relation attribute.
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

The key object returns the name of the attribute defined as the Primary Key for the dataclass.

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: