Ich frage mich, ob es möglich ist, Routen in FOSRestBundle-Methoden zu definieren, die das Format mit etwas anderem als einem "Punkt" davor angeben.
Zum Beispiel, nehmen wir an, ich möchte, dass Folgendes funktioniert:
http://somesite.com/api/user/20 (rendert im Standard/Fallback-Format)
http://somesite.com/api/user/20/json (rendert als JSON)
http://somesite.com/api/user/20/xml (rendert als XML)
Wenn ich versuche, eine Route wie folgt zu definieren:
/**
* @Get("/user/{id}/{_format}
*/
public function getUserAction($id)
{
// mache etwas
}
Bekomme ich dies:
Routenmuster "/api/users/{maximum}/{_format}.{_format}" kann nicht mehr als einmal auf die Variablenbezeichnung "_format" verweisen.
Das ließ mich erkennen, dass es - und damit meine ich, wir reden standardmäßig über FOSRestBundle und nicht Symfony2 - automatisch das ".{_format}" am Ende jeder von mir definierten Route hinzufügt. Das hat mich überrascht!
Also funktioniert es derzeit in meinem früheren Beispiel wie folgt:
http://somesite.com/api/user/20 (rendert im Standard/Fallback-Format)
http://somesite.com/api/user/20.json (rendert als JSON)
http://somesite.com/api/user/20.xml (rendert als XML)
Ein kleiner Unterschied, das stimmt, aber ich versuche gerade, eine Legacy-App zu übertragen, die diese Syntax verwendet. Ist das, was ich versuche, möglich? Wenn ja, wie kann ich diese automatische Hinzufügung von ".{_format}" zu jeder Route deaktivieren?
Danke!