Donc, je reçois un avertissement comme lorsque je vais à l'URL suivante méthode http 405 non autorisée p>
blockQuote> Voici mon code de contrôleur: p> alors que dois-je faire? De plus, si un autre code est requis, commencez-y, je modifierai le message,
Merci. P> p> http: // localhost: 8080 / projectfe / uregistration code>
et le site Web montre p>
4 Réponses :
Le problème est avec l'annotation @Controller code> à l'intérieur de votre code. Changez-le à
@RestController code> et il devrait commencer à fonctionner.
Voici le code d'exemple que j'ai créé et ça fonctionne bien:
Comme votre Get code> Mappage du gestionnaire est
/ enregistrement code>, modifiez votre code> POST CODE> MACHING DE HANDER sur la même valeur:
@RequestMapping(value = "/registration", method = RequestMethod.POST)
Pouvez-vous expliquer un peu plus de détails que voulez-vous dire par Thay? Et pourquoi ?
@Mob_abominator Votre mappage de gestionnaire d'obtention est / enregistrement code> et lorsque la vue est rendue, puis un formulaire est soumis, il essaiera de
Publier code> à la même URL que si vous avez explicitement mentionné Toute action
code> dans le formulaire
code>.
Désolé, mais cela ne marche pas, je reçois le même avertissement que ci-dessus, je suppose que le problème principal est quelque part ailleurs que cela juste un avertissement, l'erreur que je reçois est une erreur 405. Donc, je pense que cela a quelque chose à voir avec il.
J'ai résolu la mine en ajoutant simplement des configurations CSRF comme mentionné dans la documentation de printemps lors de la création d'une demande AJAX au serveur. N'oubliez pas que le CSRF est activé par défaut au printemps et vous devez le désactiver (mauvais) ou l'activer. Lien est ici
HTTPS: // DOCS .spring.io / Spring-Security / Site / Docs / 5.0.x / Référence / HTML / CSRF.HTML P> blockQuote>
donc j'ai ajouté
code> p> xxx pré> à ma tête HTML et à l'intérieur du formulaire que je suis Soumettre, j'ai inclus cette petite entrée cachée et la mienne a travaillé pour moi. J'espère que cela vous aide. P>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
Pour ceux que nous avons un problème connexe, j'ai eu ce problème lorsque je posterai à l'aide d'une @pathvariable avec de l'espace, plutôt que @Requestbody P>
Qu'entendez-vous par «quand je vais à l'URL suivante»? Visitez-vous l'URL susmentionnée sur le navigateur? Soumettez-vous un formulaire, où l'action pointe vers cette URL? Essayez-vous de frapper le point final via Postman / Curl?
C'est l'URL qui est déclenchée lorsque le formulaire est soumis
Pouvez-vous appeler manuellement le code que vous voulez en utilisant Postman ou Curl? Vous pouvez utiliser le débogueur pour vérifier si le code est invoqué.
Comment faire ça ? Pouvez-vous expliquer plus bref?