Projekt

Allgemein

Profil

Aktionen

GX-Abgewiesen #69572

geschlossen

Validierung von eingehenden REST-API Requests (basierend auf JSON schema) / Validate incoming REST API requests based on a JSON schema

Von Mirko Janssen vor etwa 2 Jahren hinzugefügt. Vor mehr als 1 Jahr aktualisiert.

Status:
Abgewiesen
Priorität:
Normal
Zugewiesen an:
Tobias Schindler
Kategorie:
REST-API
Zielversion:
-
Beginn:
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Release Notes Langtext:

Beschreibung

Currently, we are validating the request body of incoming REST API requests based on some more or less complex logic encapsulated in ...RequestParser classes (e.g. WithdrawalApiRequestParser).
This logic is totally redundant because we always need to make sure that it's the same as how it's documented for the REST API in general.

It might be a good solution to somehow extract the definition of the JSON schema from the REST API documentation (which is based on the OpenAPI v3 standard) and use some third-party JSON schema validator to validate the incoming REST API request bodies.


Aktionen #2

Von Lennard Kläfker vor etwa 2 Jahren aktualisiert

  • Tags wurde auf 4.7.1.0_beta1 gesetzt
Aktionen #4

Von Mirko Janssen vor fast 2 Jahren aktualisiert

  • Status wurde von Gemeldet zu Feedback geändert
  • Zugewiesen an wurde von Mirko Janssen zu Tobias Schindler geändert
Aktionen #5

Von Hilke Müller vor mehr als 1 Jahr aktualisiert

  • Thema wurde von Validate incoming REST API requests based on a JSON schema zu Validierung von eingehenden REST-API Requests (basierend auf JSON schema) / Validate incoming REST API requests based on a JSON schema geändert
Aktionen #6

Von Lennard Kläfker vor mehr als 1 Jahr aktualisiert

  • Tags wurde von 4.7.1.0_beta1 zu 4.7.1.0_RC1 geändert
Aktionen #7

Von Daniel Wu vor mehr als 1 Jahr aktualisiert

  • Tags wurde von 4.7.1.0_RC1 zu 4.7.2.0_beta1 geändert
Aktionen #8

Von Daniel Wu vor mehr als 1 Jahr aktualisiert

  • Tags 4.7.2.0_beta1 wurde gelöscht
Aktionen #9

Von Tobias Schindler vor mehr als 1 Jahr aktualisiert

  • Tags wurde auf 4.7.2.0_beta1 gesetzt
  • Status wurde von Feedback zu Abgewiesen geändert

Das klingt für mich so, als würde mal es ähnlich wie dragger lösen. Das Problem ist, dass die von Dragger referenzierten Dateien in einen finalen Shoppaket nicht mit ausgeliefert werden. Sprich eine Triviale lösung im Sinne von "wir nutzen was wir haben" funktioniert hier leider nicht.

Nichts desto trotz sollten wir uns Gedanken über Request-Validierung machen, nicht nur bei der REST-API, denn so können wir einerseits sicherstellen, dass es seltener kracht wenn man die Domain-Objects zusammenbaut, sowie die Möglichkeit die Fehler zu Tracken, sprich welches Feld ist falsch genutzt und welcher Wert ist erwartet. Dazu sollte man sich aber einmal gemeinsam ein Konzept überlegen.

Das Ticket lehne ich erstmal ab, da es darauf basiert, die openapi.json zur Validierung zu nutzen und die wird nun leider nicht mit ausgeliefert und Vollversionen und Service Packs.

Aktionen #10

Von Till Tepelmann vor mehr als 1 Jahr aktualisiert

  • Tags 4.7.2.0_beta1 wurde gelöscht
  • Tracker wurde von GX-Feature zu GX-Abgewiesen geändert
  • Betroffene Versionen Unbestimmt wurde gelöscht
Aktionen

Auch abrufbar als: Atom PDF