Stabilitätsgarantie für URI trotz unterschiedlicher Konverter
Warum machen wir das?
Unsere über die REST-API verfügbaren Ressourcen (Datenschemata, Dokumentsteckbriefe, Baukastenelemente) sollen unveränderlich sein ("Stabilitätsgarantie"). Für das Ergebnis der Anwendung unserer eigenen Konverter XDF>JSON oder XDF>XSD steht dieser Unveränderlichkeit in Frage, da geänderter Konverter-Code zu geänderten Ressourcen führen kann. Daher müssen wir die Ressourcen-URIs um einen Teil ergänzen, der diese Konverter-Versionen berücksichtigt.
Relevante Informationen
- Die ausführliche Diskussion zu diesem Thema dazu findet sich in #103 (closed)
- Bisher gibt es nur zwei unveränderliche Ressourcen, erreichbar über die Endpunkte
GET /immutable/code-list/{id}/genericode.xm1
für Codelisten undGET /immutable/schema/{filename)
für Datenschemata. Zukünftig wird es für JSON- und XSD-Konvertierungsergebnisse ebenfalls Endpunkte geben; für diese brauchen wir die Stabilitätsgarantie. Diese könnten möglicherweiseGET /immutable/xml-schema/{filename)` und
GET /immutable/json-schema/{filename)` heißen.
Schritt 1: Erstellung bei Import
-
Erstellen der JSON Schema und XSD Dateien direkt beim Import eines Schemas -
Immutable Routen fuer JSON Schema und XSD -
Hinzufuegen der Dateinamen der generierten JSON Schema und XSD Dateien zur Detailansicht einer Schemas in unserer JSON API
Schritt 2: Update bei Deployment
-
Bei Bedarf Generierung neuer JSON Schema oder XSD Dateien bei jedem Deployment, da es hier zu einem Update des Konverters gekommen sein kann.
Akzeptanzkriterien
-
Eine JSON-Schema- oder XML-Schema-Ressource wird zum Zeitpunkt T1 heruntergeladen, dann wird der zugehörige Konverter-Code so geändert, dass das Konvertierungsergebnis in einem irrelevanten Teil geändert ist, dann wird zum Zeitpunkt T2>T1 auf die gleiche Ressource erneut und unter der gleichen URI zugegriffen. Erwartung: Dieser Zugriff gelingt mit dem gleichen Download-Ergebnis. -
Im Testszenario aus dem ersten Punkt weicht die neu gebildete URI von der älteren URI ab.
Edited by Felix Bernhardt