Projet

Général

Profil

Development #48542

solis : modif de l'objet remontant les erreurs de Solis API

Ajouté par Thomas Noël il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
13 novembre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Message de Aurelien LE ROUX <>

Certaines de vos applications utilisent Solis API pour envoyer et recevoir des données venant du système d'information de l'action social
des conseils départementaux.

Dans Solis API, un objet (un json) va changer de signature. Il s'agit de l'objet remontant les erreurs de Solis API, donc le corps de la
réponse d'une requête http aboutissant à une erreur.

Cet objet va devenir un objet direct de Solis API à partir de la version 1.5.0 de Solis API Web (le conteneur exposant les web services
métiers):

description json:
{
  "logref": "string",
  "message": "string" 
}
Cette signature est normalement celle d'origine lors de la création de Solis API. Mais j'ai l'impression que l'objet retourné avait déjà
subi des modifications sans que l'on s'en aperçoit.
Les codes http retournés restent inchangés.

Explication:
Depuis le début de Solis API, l'objet utilisé pour renvoyer les erreurs était fourni par le module Spring-HATEOAS du framework Spring.
Ce module a beaucoup évolué au cours de cette dernière année. L'une des dernières évolutions a déprécié l'objet que l'on utilisait, sa
suppression n'est donc plus qu'une question de temps.
Le nouvel objet Spring-HATEOAS venant en remplacement de l'ancien ayant une signature complètement différente, il ne sera pas utilisé dans
Solis API.

Impact:
Je voudrais savoir si cela a un impact sur vos applications.
Par exemple, faites-vous un parse du message d'erreur afin d'afficher le message à l'utilisateur?
Cette signature est-elle celle que vous aviez déjà? Sinon, pouvez-vous m'indiquer la signature que vous avez actuellement pour cet objet
remontant les erreurs?

-- 
Aurélien LE ROUX
aurelien.leroux@up.coop<mailto:aurelien.leroux@up.coop>
Développeur
Solutions Départements, Régions, Organismes paritaires d’Etat | UP
[fixe]          +33 2 96 79 12 79<tel:+33296791279>
[fax]           +33 2 96 79 12 80<tel:+33296791280>
1 rue Pierre et Marie Curie Centre d'Affaires Eleusis 1 22190 Plérin FRANCE

Historique

#1

Mis à jour par Thomas Noël il y a plus de 3 ans

  • Description mis à jour (diff)
#2

Mis à jour par Thomas Noël il y a plus de 3 ans

  • Statut changé de Nouveau à Fermé

Actuellement en cas d'erreur, on renvoie le JSON reçu dans une clé "json_content". On a aussi "protection" au cas où le JSON reçu ne soit pas bon.

        if response.status_code // 100 != 2:
            try:
                json_content = response.json()
            except ValueError:
                json_content = None
            raise APIError('error status:%s %r, content:%r' %
                           (response.status_code, response.reason, response.content[:1024]),
                           data={'status_code': response.status_code,
                                 'json_content': json_content})

Donc la modification dont il est question n'a pas d'impact côté Passerelle.

Formats disponibles : Atom PDF