Saltar al contenido principal
Versión: v18

$catalog

El catálogo describe todas las clases de datos y atributos disponibles en el almacén de datos.

Sintaxis disponible

SintaxisEjemploDescripción
$catalog/$catalogDevuelve una lista de las clases de datos de su proyecto junto con dos URIs
$catalog/$all/$catalog/$allDevuelve información sobre todas las clases de datos del proyecto y sus atributos
$catalog/{dataClass}/$catalog/EmployeeDevuelve información sobre una clase de datos y sus atributos

$catalog

Devuelve una lista de las clases de datos de su proyecto junto con dos URI: una para acceder a la información sobre su estructura y otra para recuperar los datos de la clase de datos

Descripción

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.

En esta lista sólo se muestran las clases de datos expuestas para el almacén de datos de su proyecto. Para más información, consulte la sección Exponer tablas y campos.

A continuación se describen las propiedades devueltas para cada clase de datos en el almacén de datos de su proyecto:

PropiedadTipoDescripción
nameStringNombre de la dataclass.
uriStringUn URI que permite obtener información sobre la
dataURIStringUn URI que permite ver los datos en la clase de datos.

Ejemplo

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

Devuelve información sobre todas las clases de datos del proyecto y sus atributos

Descripción

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

Para más información sobre lo que se devuelve para cada clase de datos y sus atributos, utilice $catalog/{dataClass}.

Ejemplo

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}

Devuelve información sobre una clase de datos y sus atributos

Descripción

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. Si quiere recuperar esta información para todas las clases de datos del almacén de datos de su proyecto, utilice $catalog/$all.

La información que recupera se refiere a lo siguiente:

  • Dataclass
  • Atributo(s)
  • Método(s) si lo hay
  • Llave primaria

DataClass

Las siguientes propiedades se devuelven para una clase de datos expuesta:

PropiedadTipoDescripción
nameStringNombre de la dataclass
collectionNameStringNombre de una selección de entidades en la clase de datos
tableNumberNumberNúmero de tabla en la base 4D
scopeStringAlcance de la clase de datos (tenga en cuenta que sólo se muestran las clases de datos cuyo Alcance es público)
dataURIStringUn URI a los datos de la clase de datos

Atributo(s)

Aquí están las propiedades de cada atributo expuesto que se devuelven:

PropiedadTipoDescripción
nameStringEl nombre del atributo.
kindStringTipo de atributo (almacenamiento o entidad relacionada).
fieldPosNumberPosición del campo en la tabla de la base).
scopeStringAlcance del atributo (sólo aparecerán los atributos cuyo alcance sea Público).
indexedStringSi se seleccionó algún tipo de índice, esta propiedad devolverá true. En caso contrario, esta propiedad no 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.
identifyingBooleanEsta propiedad devuelve True si el atributo es la llave primaria. En caso contrario, esta propiedad no aparece.
pathStringNombre de la relación de un atributo relatedEntity o relateEntities.
foreignKeyStringFor a relatedEntity attribute, name of the related attribute.

Método(s)

Define los métodos proyecto asociados a la clase de datos, si los hay.

Llave primaria

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

Ejemplo

Puede recuperar la información relativa a una clase de datos 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: "ID"
}
]
}