Ressources et clients ##################### Ressources ========== Le développement des classes REST (Resource) mettant a disposition les points d'API doit respecter les règles suivantes : - Déclarer un Path qui ne risque pas d'entrer en conflit avec un autre - Déclarer un "@produce" et un "@consume" en accordance avec le verbe HTTP utilisé : - Pas de "@produce" dans le cas du HEAD - Suite à la mise en place de RESTEASY, tout objet envoyé en body de requête ne peut être null - Si un point d'API renvoie un résultat, il doit uniquement renvoyer au choix : - un objet RequestResponse où T doit être un POJO (autre que JsonNode) dans l'entity de l'objet Response. Attention, le status code de l'objet RequestResponse doit être cohérent avec celui de la Response - un stream dans l'entity de la response - Les erreurs sont renvoyées sous la forme d'un objet VitamError. Client ====== Le développement des clients vitam (interne et externe) doit respecter les règles suivantes : - Deux types de réponses peuvent être renvoyés : - un objet RequestResponse où T doit être un POJO (autre que JsonNode) - un objet Reponse uniquement de le cas où la réponse est un stream - Le client ne doit pas intépréter une réponse dont le format est correct (et ce même si le status n'est pas OK) - Les seules exceptions qui peuvent être renvoyées sont celles générées par le client lui-même, elles doivent toutes être des VitamClientException - Les clients ne doivent pas utiliser la dépendance common-private