Nodos y Atributos del Esquema de Servicio Web
Una operación de Servicio Web de Entrada REST invoca un único objeto basado en esquema, ya sea un Objeto de Negocio, un Servicio de Negocio o un Script de Servicio. El objeto tiene un esquema que, por defecto, actúa como esquema de Solicitud y de Respuesta. El producto ofrece la posibilidad de definir un esquema explícito para una operación de servicio web que representa una visualización del esquema interno subyacente para un consumidor externo. Tenga en cuenta que el esquema de operación es una visualización estricta del esquema interno y, como tal, no implementa cambios estructurales.
-
Permite declarar si el uso de un elemento parte del esquema de Solicitud, del esquema de Respuesta, de ambos o de ninguno.
-
Permite asignar un nombre de elemento externo a un elemento interno. Esto es útil para evitar la clonación de servicios internos con este único fin.
-
Permite mejorar la administración y visibilidad de las referencias de la operación GET.
-
Permite soportar estructuras de estilo HATEOAS fuera del esquema interno. Esto permite un procesamiento interno ininterrumpido.
-
Permite proporcionar un texto de ayuda para elementos individuales.
La siguiente documentación es una lista completa de los atributos disponibles al construir un esquema de operación de Servicio Web de Entrada.
Contenido
Definición de Esquema de Operación
Los siguientes atributos definen el esquema de operación externo que establece el esquema de solicitud y de respuesta para la operación.
Mnemotécnico | Valores Válidos | Descripción | Ejemplos |
---|---|---|---|
usage= | "REQ" |
Indica que el elemento debe incluirse únicamente en el esquema de solicitud. Cuando se especifica para un elemento de lista o grupo, el valor se aplica a todo el contenedor. Un elemento específico del contenedor puede sustituir el valor por defecto del contenedor. |
|
"RESP" |
Indica que el elemento debe incluirse únicamente en el esquema de respuesta. Cuando se especifica para un elemento de lista o grupo, el valor se aplica a todo el contenedor. Un elemento específico del contenedor puede sustituir el valor por defecto del contenedor. |
|
|
"BOTH" |
Indica que el elemento debe incluirse en las definiciones de esquema de solicitud y de respuesta. Éste es el valor por defecto Cuando se especifica para un elemento de lista o grupo, el valor se aplica a todo el contenedor. Un elemento específico del contenedor puede sustituir el valor por defecto del contenedor. |
|
|
"EXCL" |
Indica que el elemento no debe incluirse ni en la definición del esquema de solicitud ni en la de respuesta. Cuando se especifica para un elemento de lista o grupo, el valor se aplica a todo el contenedor. Un elemento específico del contenedor puede sustituir el valor por defecto del contenedor. |
|
|
mapTo= | "internal element name" |
Mapea un elemento de servicio web a un elemento interno. Por defecto, se asume que el nombre del elemento interno es igual al nombre del elemento de servicio web. Utilice este atributo para asignar un nombre de elemento externo en el esquema de operación y mapearlo a un elemento interno correspondiente. Tenga en cuenta que esta no es una expresión XPath, sino una referencia a un nombre de elemento válido que corresponde a la estructura del esquema interno expandido. El propietario del elemento debe ser igual al propietario del esquema de servicio web. Si se amplió el esquema subyacente de una operación (mediante la extensión del área de datos dinámica), el propietario que realiza la extensión solamente puede hacer referencia a los elementos en la extensión de esquema de servicio web para la operación. |
Elemento de esquema interno:
Elemento del esquema de operación:
|
role= | "FKGP" |
Establece una estructura de grupo que representa una clave foránea de una entidad. El elemento no existe en el esquema interno. Agrupa los elementos de valor de clave foránea junto con un elemento _link correspondiente que, en tiempo de ejecución, proporciona el URL de punto final de la operación GET de esa entidad. Los consumidores del servicio web pueden utilizar el enlace para obtener los datos de la entidad. |
Elemento de esquema interno:
Grupo de esquemas de operación:
|
"COLL" |
Establece una estructura de grupo que representa una recopilación de entidades que hacen referencia a una lista de servicios internos. El elemento no existe en el esquema interno. Agrupa la lista interna mapeada a un elemento _data junto con un elemento _link correspondiente que, en tiempo de ejecución, proporciona el URL de punto final para la operación GET de la recopilación. Los consumidores del servicio web pueden utilizar el enlace para obtener información más detallada sobre cada entidad de la lista. Por defecto, todos los elementos de la lista de referencia se incluyen en el esquema de operación. Puede mencionar y definir explícitamente atributos para elementos específicos según sea necesario. |
Elemento de esquema interno:
Grupo de esquemas de operación:
|
|
getOperation= |
"expression" Componentes de la expresión:
Los parámetros pk2–5 son necesarios para asociar la definición de clave primaria del objeto de mantenimiento. |
Solo es válido en los elementos _self y _link. El atributo se usa para hacer referencia a la operación GET por defecto de una entidad según lo definido por su objeto de mantenimiento o su objeto de negocio. La aplicación determina la operación GET que se debe utilizar de la siguiente manera:
|
|
"expression" Componentes de la expresión:
|
Solo es válido en los elementos _self y _link. El atributo se utiliza para hacer referencia a una operación GET específica junto con la información necesaria para redactar los parámetros de ruta de acceso. |
|
Elementos Especializados
La definición del esquema de operación utiliza nombres de elementos especializados en el estilo del standard Hypermedia as the Engine of Application State, HATEOAS (Hipermedia como Motor del Estado de la Aplicación). Estos elementos solo deben ser definidos por el esquema de operación, ya que no son relevantes para el servicio de operación interno ni deben ser administrados por este.
En la siguiente lista, se describe cada elemento y cómo se utiliza.
Nombre de Elemento | Descripción | Ejemplos |
---|---|---|
<_self .../> |
Las cargas útiles de respuesta pueden incluir un elemento "_self" que contiene el URL de punto final de la operación GET relacionada con la entidad devuelta en la respuesta. Este es un elemento opcional y solo puede existir uno en un esquema de operación. Consulte los atributos de definición de esquema getOperation= para obtener más información. |
|
<_link .../> |
Las cargas útiles de respuesta pueden incluir claves foráneas y, para esas entidades, la respuesta incluye un elemento "_link" que contiene el URL de punto final de la operación GET para esa entidad (si existe). Consulte los atributos de definición de esquema role= y getOperation= para obtener más información. |
|
<_data .../> |
Proporciona una referencia standard a una lista de entidades en el esquema interno. Consulte los atributos de definición de esquema role="COLL" para obtener más información. |
|
Atributos de Documentación
Los siguientes atributos proporcionan documentación adicional para elementos individuales que se incluyen como parte de la especificación de OpenAPI del servicio web.
Mnemotécnico | Valores Válidos | Descripción | Ejemplos |
---|---|---|---|
helpText= | "help text field name" |
Asocia un elemento con un registro de texto de ayuda específico definido para el Servicio Web de Entrada. Si el elemento está incluido en el esquema de solicitud y en el de respuesta, se utiliza el mismo texto de ayuda en ambos. Si no se especifica este atributo y existe un solo registro de Campo de Texto de Ayuda para el Campo asociado con el elemento interno, se utiliza ese registro de texto de ayuda. Si existe más de un registro de Campo de Texto de Ayuda, se utiliza aquel en el que el nombre del texto de ayuda es igual al nombre del Campo. Tenga en cuenta que un elemento interno está asociado con un nombre de Campo a través de los atributos mdField=, si existen, o a través del atributo mapField=. No es válido para los elementos _self y _link. |
En este ejemplo, el servicio web de entrada define un campo de texto de ayuda llamado "TD_ENTRY" que proporciona texto de ayuda para este elemento. Se incluye el mismo texto de ayuda para el elemento tanto en el esquema de solicitud como en el de respuesta. |
helpTextResponse= | "help text field name" |
Asocia un elemento que está incluido en el esquema de solicitud y en el esquema de respuesta con un registro de texto de ayuda específico que se utilizará en el contexto del esquema de respuesta. Sigue las mismas reglas que el atributo helpText=. |
En este ejemplo, el servicio web de entrada define los siguientes registros de texto de ayuda:
|