Intégration · application maison
Une appli de stock en Spring, laissée par un ancien prestataire.
Il faut lire tout le stock, chaque nuit.
Application et données de démonstration
Le problème
L'API ne donne pas l'identifiant.
- Le SKU n'est que dans le lien de chaque produit.
- Les liens pointent vers le nom interne du serveur.
Ce qui n'est pas modifié
Le code de l'application reste tel quel.
- Une propriété de déploiement: faire confiance au proxy.
- Aucun champ ajouté à l'API.
Ce qu'il a fallu écrire
pagination: { kind: spring-hateoas, items: products }
unique_key: { path: $._links.self.href,
transform: last_path_segment }On nomme le framework, on dit où est la clé.
Un connecteur de 24 lignes.
Le rouge
Page 2 vers inventory:8080: le run refuse.
- Il nomme l'hôte interne.
- Aucune liste partielle annoncée verte.
Le vert
1250 produits, 63 pages, rangés sous leur SKU.
- La nuit suivante: 1250 lignes, 1250 clés.
- Un passage en https ne changerait aucune clé.
La limite
Le lien doit finir par l'identifiant.
- C'est le cas par défaut avec Spring Data REST.
- Un lien sans segment fait échouer le run, en nommant la clé.
Essayer
Le scénario se rejoue en local.
Une vraie application Spring Boot, un vrai nginx, chaque étape publiée avec sa sortie.