Symfony2 avec des annotations de routage
Je suis en train de définir mes itinéraires à l'aide d'annotations dans symfony2. Mon nom Bundle est PatentBundle. Mais j'obtiens une erreur de
No route found for "GET /portfolio/
Mon app/config/routing.yml
MunichInnovationGroupPatentBundle:
resource: "@MunichInnovationGroupPatentBundle/Controller/"
type: annotation
prefix: /
defaults: { _controller: "MunichInnovationGroupPatentBundle:Default:index" }
Mon portefeuille contrôleur ressemble
<?php
namespace MunichInnovationGroup\PatentBundle\Controller;
use MunichInnovationGroup\PatentBundle\Entity\Log;
use MunichInnovationGroup\PatentBundle\Entity\UserPatent;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use JMS\SecurityExtraBundle\Annotation\Secure;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use MunichInnovationGroup\PatentBundle\Entity\SvPatents;
use MunichInnovationGroup\PatentBundle\Entity\PmPortfolios;
use MunichInnovationGroup\PatentBundle\Entity\UmUsers;
use MunichInnovationGroup\PatentBundle\Form\PatentType;
use MunichInnovationGroup\PatentBundle\Entity\PmPatentgroups;
use Symfony\Component\Security\Core\SecurityContext;
use MunichInnovationGroup\PatentBundle\Util\SecurityHelper;
use Exception;
/**
* Portfolio controller.
* @Route("/portfolio")
*/
class PortfolioController extends Controller {
/**
* Index action.
*
* @Route("/", name="portfolio")
* @Method({"GET", "POST"})
* @Template("MunichInnovationGroupBundle:Portfolio:show.html.twig")
*/
public function indexAction(Request $request) {
//method code goes here
}
Ne vous obtenez "/portefeuille/" route de router:debug? Ou tout simplement "/portefeuille"? Itinéraire "/portefeuille/" est différent de "/portefeuille".
De quoi ajouter sans le slash?
Il donne la même erreur sur les deux
De quoi ajouter sans le slash?
/porfolio
?Il donne la même erreur sur les deux
OriginalL'auteur Zoha Ali Khan | 2012-06-16
Vous devez vous connecter pour publier un commentaire.
Le contrôleur doit avoir:
Merci pour le "Le contrôleur doit avoir:" section. Vous devez inclure tous ceux qui, même s'ils ne sont pas utilisés.
est-il possible de spécifier @Méthode au niveau de la classe ?
OriginalL'auteur Dave Mascia
Si vous êtes dans l'environnement de développement de vérifier si vous importez le routage.yml dans routing_dev.yml:
Votre code devrait fonctionner... Comme suggéré par Simone de Démonstration Gentili, vous devriez voir tous les actifs de vos itinéraires à l'aide
app/console router:debug
quel est le résultat?Je l'ai vérifié par le biais de l'aap/console et j'ai deux faisceaux 1 est Bundle et l'autre est PatentBundle. Bundle a aussi le portefeuille de la route et son chemin d'accès est v1/portefeuille, je veux faire de la PatentBundle itinéraires de travail, pas les autres.
Donc, vous avez à comprendre pourquoi votre itinéraire est
v1/portfolio
et pas/portfolio
. Ce n'apparaissent pas dans le code que tu postes.ouais je viens de lancer la commande u fourni et il m'a montré que le chemin d'accès pour le portefeuille de la déroute est v1/portefeuille portefeuille. mais comment puis-je utiliser Patentbundle routes.
OriginalL'auteur Visavì
Ajouter le code suivant dans votre bundle
MunichInnovationGroup/PatentBundle/Resources/config/routing.yml
Ci-dessus est juste un exemple de bundle. Vous n'avez qu'à poster le texte en gras "exigences".
OriginalL'auteur Utkarsh Parekh