Projekt

Allgemein

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 mehr als 3 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Abgewiesen
Priorität:
Normal
Zugewiesen an:
Tobias Schindler
Kategorie:
REST-API
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.


Checkliste 0/0

Aktionen #9

Von Tobias Schindler vor mehr als 2 Jahren 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