Last modified by admin on 2026/07/18 17:44

From version 11.1
edited by admin
on 2026/07/18 17:44
Change comment: There is no comment for this version
To version 5.1
edited by admin
on 2026/07/18 17:35
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -22,7 +22,7 @@
22 22  
23 23  El proyecto se apoya en las librerías **OXP.jar** y **OXPXLib.jar** según la definición de **build.grade**, con lo cual es necesario contar con la variable de entorno **OXP_HOME** definida previo inicio del IDE a fin de que encuentre dichas librerías para la compilación del proyecto.
24 24  
25 -def OXPLIBS = System.getenv(“OXP_HOME”)\\implementation files(“~$OXPLIBS/lib/OXP.jar)\\implementation files(“~$OXPLIBS/lib/OXPXLib.jar”)
25 +def OXPLIBS = System.getenv(“OXP_HOME”)\\implementation files(“{{formula}}OXPLIBS/lib/OXP.jar") implementation files("{{/formula}}OXPLIBS/lib/OXPXLib.jar”)
26 26  
27 27  El proyecto requiere además **Java 8**.
28 28  
... ... @@ -34,7 +34,7 @@
34 34  
35 35  El archivo **src/main/resources/ly-rest-api.yaml** es el punto de inicio para la ampliacion de operaciones. En dicho archivo se definen los paths a los distintos archivos que contienen los end-points:
36 36  
37 -**paths**:\\/v1.0/products:\\~$ref: ./paths/products.yaml\\/v1.0/products/{id}:\\~$ref: ./paths/products_id.yaml\\/v1.0/bpartners:\\~$ref: ./paths/bpartners.yaml\\/v1.0/bpartners/{id}:\\~$ref: ./paths/bpartners_id.yaml\\/v1.0/invoices:\\~$ref: ./paths/invoices.yaml\\/v1.0/invoices/{id}:\\~$ref: ./paths/invoices_id.yaml\\/v1.0/invoices/{id}/process:\\~$ref: ./paths/invoices_id_process.yaml
37 +**paths**:\\/v1.0/products:\\$ref: ./paths/products.yaml\\/v1.0/products/{id}:\\$ref: ./paths/products_id.yaml\\/v1.0/bpartners:\\$ref: ./paths/bpartners.yaml\\/v1.0/bpartners/{id}:\\$ref: ./paths/bpartners_id.yaml\\/v1.0/invoices:\\$ref: ./paths/invoices.yaml\\/v1.0/invoices/{id}:\\$ref: ./paths/invoices_id.yaml\\/v1.0/invoices/{id}/process:\\$ref: ./paths/invoices_id_process.yaml
38 38  
39 39  En general, para un tipo de entidad tendremos 2 entradas, por ejemplo:
40 40  
... ... @@ -48,13 +48,13 @@
48 48  **NOTA**: Existirá una tercera entrada en ciertos casos, para procesamiento de entidades de tipo documento (pedidos, facturas, remitos, etc.), por ejemplo:
49 49  
50 50  *. **/v1.0/invoices/{id}/process:**
51 -**. ~$ref: ./paths/invoices_id_process.yaml
51 +**. $ref: ./paths/invoices_id_process.yaml
52 52  
53 53  === Definición de end-points {{id name="definición-de-end-points" /}}===
54 54  
55 55  Los archivos **src/main/resources/paths/*.yaml** contienen los endpoints para cada una de las entidades sobre las cuales operar, por ejemplo **bpartners.yaml** / **bpartners_id.yaml**:
56 56  
57 -**get**:\\tags:\\- “bpartner”\\summary: Recupera una entidad comercial en particular\\parameters:\\- name: id\\in: path\\description: ID de la entidad comercial\\required: true\\schema:\\type: integer\\description: Recupera la informacion de una entidad comercial en particular\\operationId: retrieveBPartner\\responses:\\“200”:\\description: OK\\content:\\application/json:\\schema:\\~$ref: ‘../model/bpartner.yaml#/components/schemas/BPartner’\\…
57 +**get**:\\tags:\\- “bpartner”\\summary: Recupera una entidad comercial en particular\\parameters:\\- name: id\\in: path\\description: ID de la entidad comercial\\required: true\\schema:\\type: integer\\description: Recupera la informacion de una entidad comercial en particular\\operationId: retrieveBPartner\\responses:\\“200”:\\description: OK\\content:\\application/json:\\schema:\\$ref: ‘../model/bpartner.yaml#/components/schemas/BPartner’\\…
58 58  
59 59  === Definición de schemas {{id name="definición-de-schemas" /}}===
60 60  
... ... @@ -70,7 +70,7 @@
70 70  
71 71  **NOTA**: Dentro de **src/main/resources/model** existen también los archivos ***_doc.yaml** (por ejemplo **invoice_doc.yaml** o **order_doc.yaml**), los cuales no son autogenerados. Estos archivos representan una estructura más amplia que una entidad, o sea un documento que abarca varias entidades. Por ejemplo una factura abarcará sus líneas y sus impuestos:
72 72  
73 -components:\\schemas:\\**InvoiceDocument**:\\type: object\\properties:\\**header**:\\~$ref: ‘../model/invoice.yaml#/components/schemas/Invoice’\\**lines**:\\type: array\\items:\\~$ref: ‘../model/invoiceline.yaml#/components/schemas/InvoiceLine’\\**taxes**:\\type: array\\items:\\~$ref: ‘../model/invoicetax.yaml#/components/schemas/InvoiceTax’
73 +components:\\schemas:\\**InvoiceDocument**:\\type: object\\properties:\\**header**:\\$ref: ‘../model/invoice.yaml#/components/schemas/Invoice’\\**lines**:\\type: array\\items:\\$ref: ‘../model/invoiceline.yaml#/components/schemas/InvoiceLine’\\**taxes**:\\type: array\\items:\\$ref: ‘../model/invoicetax.yaml#/components/schemas/InvoiceTax’
74 74  
75 75  Notar que la definición de **invoice_doc.yaml** se apoya en los archivos yaml de modelo autogenerados.
76 76  
... ... @@ -126,7 +126,7 @@
126 126  
127 127  El primer paso es incluir a los nuevos paths relacionados con la gestión de remitos en el archivo **ly-rest-api.yaml**:
128 128  
129 -/v1.0/inouts:\\~$ref: ./paths/inouts.yaml\\/v1.0/inouts/{id}:\\~$ref: ./paths/inouts_id.yaml\\/v1.0/inouts/{id}/process:\\~$ref: ./paths/inouts_id_process.yaml
129 +/v1.0/inouts:\\$ref: ./paths/inouts.yaml\\/v1.0/inouts/{id}:\\$ref: ./paths/inouts_id.yaml\\/v1.0/inouts/{id}/process:\\$ref: ./paths/inouts_id_process.yaml
130 130  
131 131  == Ampliación de endpoints {{id name="ampliación-de-endpoints" /}}==
132 132  
... ... @@ -161,7 +161,7 @@
161 161  
162 162  Para entidades de tipo documento, se debe crear manualmente el descriptor de schema **src/main/resources/model/inout_doc.yaml** el cual abarca la cabecera y las lineas:
163 163  
164 -components:\\schemas:\\**InOutDocument**:\\type: object\\properties:\\**header**:\\~$ref: ‘../model/inout.yaml#/components/schemas/InOut’\\**lines**:\\type: array\\items:\\~$ref: ‘../model/inoutline.yaml#/components/schemas/InOutLine’
164 +components:\\schemas:\\**InOutDocument**:\\type: object\\properties:\\**header**:\\$ref: ‘../model/inout.yaml#/components/schemas/InOut’\\**lines**:\\type: array\\items:\\$ref: ‘../model/inoutline.yaml#/components/schemas/InOutLine’
165 165  
166 166  == Generación de clases {{id name="generación-de-clases" /}}==
167 167  
... ... @@ -320,9 +320,9 @@
320 320  
321 321  El proyecto cuenta con el script **DockerCreateImage.sh** que genera una imagen de la aplicación apoyada en **OpenJDK 8**.
322 322  
323 -usuario@pc-usuario:~~/workspace/org.libertya.api~$ **./DockerCreateImage.sh**\\BUILD SUCCESSFUL in 2s\\7 actionable tasks: 7 up-to-date\\[+] Building 2.0s (7/7) FINISHED\\=> [internal] load .dockerignore 0.1s\\=> => transferring context: 2B 0.0s\\=> [internal] load build definition from Dockerfile 0.1s\\=> => transferring dockerfile: 172B 0.0s\\=> [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine 0.0s\\=> [internal] load build context 0.7s\\=> => transferring context: 67.80MB 0.6s\\=> [1/2] FROM docker.io/library/openjdk:8-jdk-alpine 0.1s\\=> [2/2] COPY build/libs/lyrestapi-1.0.0.jar lyrestapi-1.0.0.jar 0.6s\\=> exporting to image 0.5s\\=> => exporting layers 0.5s\\=> => writing image sha256:b155879ce2ab4dc1c89b6a287753435ba69aae268bc7c818a0e5bbce4e9192c3 0.0s\\=> => naming to docker.io/library/lyrestapi 0.0s
323 +usuario@pc-usuario:~~/workspace/org.libertya.api$ **./DockerCreateImage.sh**\\BUILD SUCCESSFUL in 2s\\7 actionable tasks: 7 up-to-date\\[+] Building 2.0s (7/7) FINISHED\\=> [internal] load .dockerignore 0.1s\\=> => transferring context: 2B 0.0s\\=> [internal] load build definition from Dockerfile 0.1s\\=> => transferring dockerfile: 172B 0.0s\\=> [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine 0.0s\\=> [internal] load build context 0.7s\\=> => transferring context: 67.80MB 0.6s\\=> [1/2] FROM docker.io/library/openjdk:8-jdk-alpine 0.1s\\=> [2/2] COPY build/libs/lyrestapi-1.0.0.jar lyrestapi-1.0.0.jar 0.6s\\=> exporting to image 0.5s\\=> => exporting layers 0.5s\\=> => writing image sha256:b155879ce2ab4dc1c89b6a287753435ba69aae268bc7c818a0e5bbce4e9192c3 0.0s\\=> => naming to docker.io/library/lyrestapi 0.0s
324 324  
325 -usuario@pc-usuario:~~/workspace/org.libertya.api~$ **docker images**\\REPOSITORY TAG IMAGE ID CREATED SIZE\\**lyrestapi** latest b155879ce2ab About a minute ago 173MB
325 +usuario@pc-usuario:~~/workspace/org.libertya.api$ **docker images**\\REPOSITORY TAG IMAGE ID CREATED SIZE\\**lyrestapi** latest b155879ce2ab About a minute ago 173MB
326 326  
327 327  = Uso {{id name="uso" /}}=
328 328