2016-09-29 3 views
0
gefunden

Also ich habe es wie folgt definiert:Symfony2: Wirr Route nicht Fehler

/** 
* Class TemplateController 
* @package TemplateManager\Bundle\DocumentGeneratorBundle\Controller\API 
* @Route("/api/v1/templates") 
*/ 
class TemplateController extends Controller 
{ 
    /** 
    * @Route("?available={id}") 
    * @Method({"GET"}) 
    */ 
    public function findAllAction($id) 
    { 
     echo "Yu"; 
    } 

/** 
    * @Route("/{id}") 
    * @Method({"GET"}) 
    * @param $id 
    * @param $template_name 
    * @return Response 
    */ 
    public function findAction($id) 
    {} 
} 

Wenn es so den Zugriff auf: http://localhost/api//v1/templates?available=1 sagt es keine passende Route zu finden. Wo mache ich falsch? Die andere Route funktioniert gut.

+0

Geben Sie einfach Sie Route für Aktion wie folgt aus: '@Route ("/")' und behandeln Ihre Anfrage mit '$ request-> query-> getInt ('verfügbar')'. Oder Sie könnten '@Route ('/ available/{id}') stattdessen verwenden. Keine Ahnung, um diese Route mit get-Parameter zu erstellen. – jaro1989

Antwort

0

Sollte es nicht

http://localhost/api/template?available=1 

statt

von
http://localhost/api/templates?available=1 

überprüfen Sie Ihre Controller-Klasse und Wort in der URL verwendet werden.

+0

Nein. Überprüfen Sie die Basisroute über der Klasse. – Volatil3

0

Ihre Basisroute für Ihren Controller ist definiert als @Route("/api/v1/templates"), aber Sie rufen nur "/ api/templates/*". Du hast einfach das "/ v1 /" dort vergessen.

Versuchen Sie, http://localhost/api/v1/templates?available={id} anzurufen.


Bitte beachten Sie: Auf der CLI können Sie alle registrierten Routen zum einfacheren Debugging ablegen. Geben Sie einfach:

$> app/console debug:router 

# or bin/console if you're using Symfony3 and above 
$> bin/console debug:router 
+0

Sorry, ich habe einen falsch gemacht. Ich habe gerade korrigiert. Es akzeptiert überhaupt kein '?' – Volatil3

Verwandte Themen