[ChAoZ]
Rear Admiral
- Registriert
- Jan. 2010
- Beiträge
- 5.308
Hallo Leute,
eine REST App nimmt ein PUT-Request entgegen.
Dieser beinhaltet einen Unix-Timestamp.
Nun möchte ich diesen Parameter gerne optional machen.
Wird ein Timestamp übergeben, soll dieser anhand der hinterlegten Regeln validiert werden.
Wird kein Timestamp übergeben, soll die App eins erzeugen.
Testing:
Sollte beim letzten nicht die "default" Angabe aus dem Routing greifen?
Tut es nicht.
Auch ist es nicht möglich "Blank" Validator zusammen mit dem "Lenght" Validator zu paaren.
Wie gehe ich also am besten vor?
Danke
eine REST App nimmt ein PUT-Request entgegen.
Dieser beinhaltet einen Unix-Timestamp.
Nun möchte ich diesen Parameter gerne optional machen.
Wird ein Timestamp übergeben, soll dieser anhand der hinterlegten Regeln validiert werden.
Wird kein Timestamp übergeben, soll die App eins erzeugen.
Code:
# routing
api_add_entry:
path: /tracking/{timestamp}
controller: App\Controller\MainController::addEntry
defaults:
timestamp: 0
methods: [PUT]
Code:
# validation
App\Usecase\AddEntity\AddEntityRequest:
properties:
timestamp:
- Length:
min: 10
max: 13
Testing:
Code:
# Fehler da nur 9 Zeichen -> gut
tracking/123456789
# Fehler da >15 Zeichen -> gut
tracking/1234567890123456
# Will ich es ohne Paramter aufrufen, knallt es -> schlecht
# No route found for "PUT /tracking/"
tracking/
Sollte beim letzten nicht die "default" Angabe aus dem Routing greifen?
Tut es nicht.
Auch ist es nicht möglich "Blank" Validator zusammen mit dem "Lenght" Validator zu paaren.
Wie gehe ich also am besten vor?
Danke