Rolf B: Symfony 5 Routing mit Defaults

Beitrag lesen

Hallo Alex.B,

da ein PUT mit timestamp akzeptiert wird, sollte es nicht an der Webserverkonfiguration liegen.

Probier's doch mal so:

api_add_entry:
    path: /tracking/{!timestamp}
    controller: App\Controller\MainController::addEntry
    requirements:
        timestamp: '\d+'
    methods: [PUT]

api_add_defaultentry:
    path: /tracking
    controller: App\Controller\MainController::addDefaultEntry
    methods: [PUT]

und im Controller fügst Du eine neue Methode addDefaultEntry ein, die einen Timestamp vergibt und damit addEntry aufruft.

Wenn Du es unbedingt mit einer einzigen Route lösen willst, muss vermutlich das Requirement ganz weg oder durch \d* ersetzt werden. Die Kollision mit dem Constraint gibt es dann aber immer noch. Der will ja was mindestens 10-stelliges sehen. Ich weiß allerdings nicht wann der Constraint greift - diese add\usecase Konfiguration finde ich nirgends in der Doku. Was ist das?

Rolf

--
sumpsi - posui - clusi