2013-11-22 5 views

Antwort

16

In Ihrem config.yml, stellen Sie sicher, dass Sie diese konfiguriert:

fos_rest: 
    format_listener: true 
    routing_loader: 
     default_format: json 
     include_format: false 

Hoffnung, die

EDIT hilft:

Es ist ein Beispiel, in dem FOSRestBundle Docs, die zeigt, wie das verwenden, ClassResourceInterface. Der größte Unterschied ist, dass Sie Ihre Routen nicht manuell definieren müssen. Die Schnittstelle generiert Ihre Routen basierend auf Ihrem Klassennamen und dem Methodennamen. So ist es sehr wichtig, was Sie Ihre Methoden nennen (können Sie außer Kraft setzen, wie der Klassenname verwendet wird, wird dies in der docs gezeigt)

zum Beispiel so etwas wie diese:

use FOS\RestBundle\Routing\ClassResourceInterface { 

class UserController implements ClassResourceInterface { 

    public function cgetAction() { 
     //return a list of all users 
    } 
} 

würde eine Route erzeugen das sieht so aus: [GET] /users. So benutze ich das Paket und es funktioniert großartig. Ich muss auch die Option {_format} nirgends verwenden, da ich die Routen nirgendwo manuell definieren muss.

Hinweis - siehe meine ursprüngliche Antwort, ich machte eine Bearbeitung, die auch bei der Verwendung des Bundles helfen könnte. Ich habe nicht versucht, das Bündel so zu benutzen, wie du bist, also bin ich mir nicht sicher, ob das funktionieren wird oder nicht, aber die docs machen es so, als würde es funktionieren.

+0

Nein, das funktioniert nicht. Ich konnte das erreichen, indem ich "type: rest" von "routing.yml" entfernte und Annotationen wie "@Rest \ Get ("/user ")' in einem Controller verwendete. –

+0

Ich denke, es hängt davon ab, wie Sie das Bündel verwenden. Ich benutze ClassResourceInterface und das funktioniert gut. – Sehael

+0

Können Sie bitte ein Beispiel zeigen, wie Sie es benutzen? –