NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tomáš "chlastyml" Kacálek:11.9.2017 14:10

Ahoj lidi,

Trápím se nad problémem s přesměrováním v symfony 3.

Nastavení routování mám normálně přes anotace.

app:
    resource: '@AppBundle/Controller/'
    type: annotation

Controller:

class ProductController extends BaseController
{
    /**
     * @Route("/product")
     * @Method({"GET", "POST"})
     * @return Response
     */
    public function mainMethod(){
        // Some code
    }

Nyní, když chci přistoupit na adresu:

http://localhost/hellshopapi/web/product

Vyhodí mě symfony chybu:

No route found for "GET /product/"

Když se podívám do RESPONSE HEADERS

**301 Moved Permanently**
Tento a všechny budoucí požadavky by měly být směrovány na dané URI.

Viz screenshot.

Nevíte, kde se toto nastavuj, neboť vedle mám další controller a tam mi to nedělá.

Děkuji uctivě,
Chlastyml

 
Odpovědět
11.9.2017 14:10
Avatar
Tomáš "chlastyml" Kacálek:11.9.2017 14:18

Ještě mě napadlo, že když si vytáhnu všechny routy:

/** @var $router \Symfony\Component\Routing\Router */
$router = $this->container->get('router');
/** @var $collection \Symfony\Component\Routing\RouteCollection */
$collection = $router->getRouteCollection();

Tak tam moji požadovanou routu normálně vidím.

Jako když, tam přidám ten slash na konec, tak to jde. Jen mě zaráží, proč to u jednoho controlleru jde a u druhého ne.

class ProductController extends BaseController
{
    /**
     * @Route("/product/")
     * @Method({"GET", "POST"})
     * @return Response
     */
    public function mainMethod(){
        // Some code
    }
 
Nahoru Odpovědět
11.9.2017 14:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.