2017-03-06 2 views
-2

In unserem Legacy-Projekt gibt es eine API, mit der Benutzer Daten sowohl über GET- als auch über POST-Anfragen übermitteln können. Ist es möglich, GET- und POST-Anfragen in einem Formular zu bearbeiten?Symfony Forms - mehrere Request-Methoden bearbeiten

+0

Was haben Sie bisher versucht? Welchen Fehler hast du bekommen? –

Antwort

0

Sie können zwei verschiedene Methoden in Ihrem Controller erstellen und dann durch das Routing bestimmen, wie die GET- oder POST-Anforderung behandelt wird. Hinweis unten sind beide Routen gleich, aber wir beschränken die Anfrage-Methode. Die Namen der Routen müssen unterschiedlich sein

/** 
* This method accepts on GET or PUT 
* @Route("/view/{id}", name="blueprint_view") 
* @Method({"GET", "PUT"}) 
*/ 
public function viewAction(Request $request, $id) 
{ 
    .... 
} 


/** 
* The method accepts POST 
* 
* @Route("/view/{id}", name="blueprint_post_view") 
* @Method({"POST"}) 
*/ 
public function viewPostAction(Request $request, $id) 
{ 
    .... 
} 

Jetzt in Ihrem Methoden können Sie wissen, was zu erwarten ist und wie die Anfrage params parsen.

+0

Ich glaube nicht, dass es funktionieren würde - Symfony-Formular hat Option "Methode", die verwendet, um zu bestimmen, welche Methode es verwendet, aus diesem Grund behandelt HandleRequest nicht GET und POST. –

+0

Es kann beides. Überprüfen Sie die Dokumentation. Warum sonst könnte das Formular die Methode setzen, wenn Symfony GET nicht erlaubt hätte? – pogeybait

+0

Um zu klären, sehen Sie die Antwort auf eine andere Frage. http://stackoverflow.com/questions/19308945/symfony-2-basic-get-form-generated-url – pogeybait