jfrchicanog / ewp-reference-connector

MIT License
0 stars 0 forks source link

La API IIA Approval CNR no cumple la especificación #31

Closed jfrchicanog closed 3 years ago

jfrchicanog commented 3 years ago

Los parámetros no son correctos. La especificación se encuentra aquí: https://github.com/erasmus-without-paper/ewp-specs-api-iia-approval-cnr/tree/v1.0.0

Dalia-git commented 3 years ago

He modificado los nombres de los parametros y se adiciono un parametro que faltaba. El paranetros owner_hei_id no se donde utilizarlo ya que en la notificacion no hay mas informacion que detallar.

jfrchicanog commented 3 years ago

El owner_hei_id debe ser el hei_id de la UMA (uma.es). Esto estaba en una de las constantes de GlobalProperties. Solo tienes que comprobar que es eso y si no lo es dar un error (400) explicando que el servidor no cubre la hei_id que se indica.

Otro detalle. Observa la línea https://github.com/jfrchicanog/ewp-reference-connector/blob/d92a54a71fb433535027b2b247fe463d5827b51b/ewp-reference-connector/src/main/java/eu/erasmuswithoutpaper/iia/approval/boundary/IiaApprovalResource.java#L92

(También ocurre en las 94 creo). Haz la comprobación de que es null antes de la comprobación de isEmpty, para evitar una excepción de null pointer. También puedes usar el método Optional.OfNullable para ahorrar algo de código.

Dalia-git commented 3 years ago

No encuentro la constante que me mencionas en GlobalProperties

jfrchicanog commented 3 years ago

Tienes razón, no está allí. Se encuentra en la BD. Las instituciones cubiertas por la API se encuentran en la tabla "Institutions". Debes hacer una consulta de todas las instituciones en la BD y recoger el atributo "institutionsId". Hay un ejemplo en el ManifestReousrce de la API Discovery.