Quels sont les types de retour valides d'une méthode de contrôleur Spring MVC?
Je n'ai pas beaucoup d'expérience dans Spring MVC et j'ai le texte suivant sur quels sont les valide types de retour d'un contrôleur de méthode peut retourner.
Donc je sais que l'utilisateur de générer une HttpRequest reçues et traitées par la DispatcherServlet que l'envoi de cette demande à un contrôleur spécifique de la classe.
Un contrôleur de classe est quelque chose comme ceci:
@Controller
public class AccountController {
@RequestMapping("/showAccount")
public String show(@RequestParam("entityId") long id, Model model) {
...
}
.......................................
.......................................
.......................................
}
Donc je sais que chaque méthode de gérer une demande spécifique, et que les traités demande est spécifié par le @RequestMapping annotation.
Je sais aussi que la méthode renvoie une Chaîne objet qui est le vue logique nom (qui est ensuite résolu par la vue résolveur à rendre la vue)
Donc, à ce stade, je pense qu'une méthode d'une classe contrôleur retourne uniquement Chaîne objet. Mais je n'en suis pas sûr. Peut-être une méthode de ce genre peut revenir aussi différents objets?
source d'informationauteur Java Surfer | 2015-03-31
Vous devez vous connecter pour publier un commentaire.
Il existe de nombreux types de retour sont disponibles pour la méthode de Gestionnaire qui est annoté par
@RequestMapping
à l'intérieur de contrôleur comme :ModelAndView (Classe)
Modèle (Interface)
HttpEntity<?>
ouResponseEntity<?>
HttpHeaders
et beaucoup plus.....Voir Les Docs
Chaque type de retour ont de son utilisation spécifique comme si vous êtes à l'aide de Cordes, alors cela signifie que le retour Nom de la Vue et de ce point de vue nom sera résolu par
ViewResolver
. Si vous ne voulez pas retourner tout le nom de la vue mentionner le type de retour void. Si vous souhaitez définir le nom de la vue ainsi que voulez envoyer de l'utilisation des objetsModelAndView
un type de retour.S'il vous plaît aller à travers la documentation vous permettra également d'y arriver ce genre de méthode argument peut-on passer d'une méthode de gestionnaire.
Vous avez une réponse directe à la doc
Prendre note de la
Lorsque la méthode est annoated avec @ResponseBodyle type de retour peut être n'importe quel type personnalisé, tout pojo Java, que le cadre de convertir vers un repsentation JSON, XML ou similaires et écrire de nouveau sur le corps de la réponse
vous pouvez prendre un coup d'oeil à AnnotationMethodHandlerAdapter#getModelAndView. Cette méthode a plusieurs conditions basées sur le type de retour de choisir quoi faire avec la valeur retournée.