InseeFr / DDI-Access-Services

Web services for accessing DDI metadata in Colectica
MIT License
0 stars 7 forks source link

get JSON dessin de fichier DDI #93

Open dzkwsk opened 2 months ago

dzkwsk commented 2 months ago

créer un service DDI AS, pour récupérer les métadonnées du dessin de fichier, (datarelationship) , à partir d'un uuid a priori, et retourner le JSON .

la transformation XSLT est celle jointe.

EmmanuelDemey commented 2 months ago

GET /ddi-as-to-json/:uuid

Avec éventuellement le fichier xslt en body de la requête

dzkwsk commented 2 months ago

DDI_Datarelationship_to_JSON.txt

FBibonne commented 2 months ago

@dzkwsk Est-ce que tu pourrais fournir un scénario de test ( Xml en entrée et données attendues en sortie ) ?

dzkwsk commented 2 months ago

sortie_JSON_5c_1609.JSON physical_instance_indiv_xml.txt

Si c'est ok ce serait pas mal de faire un test ensuite avec un XML volumineux. La création du JSON d'un fichier avec plusieurs listes geo étaient hyper long sur un poste Insee. peut être que sur serveur ça sera transparent.

FBibonne commented 1 month ago

Ok. je vais les prendre en compte.

@dzkwsk j'ai également deux questions sur les endpoints : je m'interroge sur la formulation des enpoints : d'un point de vue API, la pourrait dire que la ressource mobilisée par les endpoints est un transformer ou bien un derefencer. L'appel à l'API en lui même ni ne crée ni ne modifie la ressource. Donc le verbe utilisé pour moi devrait plutôt être un GET. Par exemple GET /ddi/transformToJson : qu'en dis-tu ? Est-ce que le POST est une contrainte de votre côté ?

Autre question également : c'est vraiment un besoin de votre côté d'envoyer le DDI dans un fichier avec la requête ou bien, on pourrait mettre le contenu du fichier dans un simple paramètre du corps de la requête ?

dzkwsk commented 5 days ago

@FBibonne comme on avait échangé en sprint mais sans revenir dessus depuis, il s'agit bien d'un GET, donc de faire une requête à partir d'un uuid en paramètre de le requête et donc on n'a aucun besoin d'avoir le DDI en paramètre dans un fichier (comme c'est en revanche le cas pour la méthode codebook). Le DDI XML sur lequel la transfo XSLT est appliquée devrait être un objet intermédiaire récupéré et transformé dans l'exécution de cette méthode et de pouvoir obtenir en sortie un JSON dont le modèle est joint à la conversation