[Symfony] Restreindre l'accès à une route à la méthode POST via les annotations

Publié le 26/09/2018 • Mis à jour le 26/09/2018

English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧

On doit parfois restreindre l'accès à une route à une méthode HTTP donnée. C'est le cas par exemple pour la route "check_path" du composant securité de Symfony permettant de se logger, qui ne doît être accéssible qu'avec la méthode POST.
Si vous ne restreignez pas la route à cette méthode et que vous essayez d'y accéder via la méthode GET avec votre navigateur par exemple, vous aurez une erreur 500. Dans le cas contraire vous aurez une erreur 405 HTTP_METHOD_NOT_ALLOWED qui n'est pas une erreur critique et qui n'a donc pas besoin d'être gérée par votre application.


/**
 * @Route("/login_check", name="user_security_check", methods={"POST"})
 */
public function checkAction(): void
{
}