symfony route Маршрут -- все адреса кроме (например кроме /api для SPA приложения) - requirements
Primary tabs
Возможен такой подход для заворачивания всех машрутов, кроме тех что начинаются с какого-то слова (в пример ниже это api), на главный шаблон с помощью аннотаций:
namespace App\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Annotation\Route;
class DefaultController extends Controller
{
/**
* @Template("default/index.html.twig")
* @Route("/{reactRouting}", name="index", requirements={"reactRouting"="^(?!api).+"}, defaults={"reactRouting": null})
*/
public function index()
{
return [];
}
}
Единственый момент в symfony 4.3, пришлось писать не
name="index"
а:
name="main"
(ранее это был маршрут для главной страницы) возможно потому что в config/packages/security.yaml была сконфигурирована именно секция:
main: anonymous: true guard: authenticators: - App\Security\LoginFormAuthenticator
(точнее не проверяли)
Источник: https://stackoverflow.com/a/49475504
- Log in to post comments
- 2431 reads