Retour de vue de Spring MVC @RestController
Comme @RestController
est la composition de @Controller
et @ResponseBody
, je crois, si je veux que mon contrôleur de
MVC et le contrôleur REST juste en annotant avec @RestController
doit être fine. Est-ce exact?
Comme @RestController
est la composition de @Controller
et @ResponseBody,
je pense qu'il à l'interne signifie que c'est bon pour
- La réception de la requête http (en raison de
@Controller
) - L'envoi de la réponse au format JSON (en raison de
@ResponseBody
) même si elle peut être modifiée si nécessaire
Vous devez vous connecter pour publier un commentaire.
@RestController
n'est pas destiné à être utilisé pour retourner des points de vue à être résolu. Il est censé renvoyer des données qui seront écrites sur le corps de la réponse, d'où l'inclusion de@ResponseBody
. Vous ne pouvez pas désactiver de manière sélective la@ResponseBody
sur les différents méthodes de gestionnaire d'lorsque@ResponseBody
est déjà annotation sur le niveau de la classe.Vous pouvez contourner le problème en retournant
ModelAndView
, qui fonctionne même dans@RestController
, mais vous ne devrais vraiment pas:Il serait préférable de créer des contrôleurs distincts normale pour les gestionnaires de retour de vues et de REPOS des contrôleurs pour le repos des trucs. Ou pour annoter la classe avec la plaine
@Controller
et mettre@ResponseBody
sur les méthodes où vous en avez besoin.@RestController annotation, qui marque cette classe en tant que contrôleur de où chaque méthode retourne un objet de domaine/pojo au lieu d'un point de vue. Cela signifie que nous ne sommes plus à l'aide de la vue-des résolveurs, nous ne sommes plus en envoyant directement le code html de la réponse, mais nous sommes d'envoi de domaine objet converti en format compréhensible par les consommateurs.