2016-04-12 9 views
-2

Mein Problem ist, dass mein Controller die POST-Methode wie GET behandelt. Wenn ich versuche, Argumente an eine Post-Methode zu übergeben, gibt es mir die GET-Ergebnisse, weil sie die gleiche Syntax haben.POST-Anfrage wird als GET

Mein POST-Funktion ist wie folgt:

/** 
* @ApiDoc(description="Uploads photo with tags.") 
* 
* @Rest\FileParam(name="image", image=true, description="Image to upload.") 
* @Rest\RequestParam(name="tags", requirements=".+", nullable=true, map=true, description="Tags that associates photo.") 
* @Rest\View() 
*/ 
public function postPhotoAction(ParamFetcher $paramFetcher, array $tags) 
{ 
    $em = $this->getDoctrine()->getManager(); 

    $photo = new Photo(); 
    $form = $this->createForm(new PhotoType, $photo); 

    if ($tags) { 
     $tags = $em->getRepository('TestTaskTagsBundle:Tag')->findOrCreateByTitles($tags); 
    } 

    $form->submit($paramFetcher->all()); 

    if (!$form->isValid()) { 
     return $form->getErrors(); 
    } 

    foreach ($tags as $tag) { 
     $photo->addTag($tag); 
    } 

    $em->persist($photo); 
    $em->flush(); 

    return array('photo' => $photo); 
} 

Wenn ich versuche, ein Bild mit dieser URL zu schreiben: http://localhost/test/web/app_dev.php/photos?tags[]=bebe&_format=json&image=E:\photos\n3ass.jpg, es zeigt mir Ergebnisse. Wie behebt man das?

Antwort

2
http://localhost/test/web/app_dev.php/photos?tags[]=bebe&_format=json&image=E:\photos\n3ass.jpg 

Dies ist eine GET-Anfrage

lesen docs: http://www.w3schools.com/tags/ref_httpmethods.asp

Wenn Sie simulieren wollen eine POST-Anfrage Sie einige Tools verwenden können. In einer POST-Anfrage sind die Parameter im Text und nicht in der URL.

Diese Tools können Ihnen helfen, wenn Sie nicht in localhost sind: https://www.hurl.it

In localhost, lade ich Sie lokale POST-Anforderung zu simulieren WebTestCase verwenden http://symfony.com/doc/current/book/testing.html#working-with-the-test-client

+0

so gibt es keine Möglichkeit, Parameter hinzufügen eine Postanfrage in der URL ?? – Nada

+0

Nein http://stackoverflow.com/questions/14551194/how-are-parameters-sent-in--http-post-request –

+0

Ok ich werde versuchen, hurl.it verwenden – Nada