Maison >Java >javaDidacticiel >Comment transmettre des objets complexes en tant que paramètres de requête GET dans Spring MVC ?

Comment transmettre des objets complexes en tant que paramètres de requête GET dans Spring MVC ?

DDD
DDDoriginal
2024-11-24 08:14:10329parcourir

How to Pass Complex Objects as GET Request Parameters in Spring MVC?

Passer des objets complexes en tant que paramètres de requête GET dans Spring MVC

Dans un scénario où vous filtrez les données d'une table à l'aide de requêtes Ajax GET , vous devrez peut-être transmettre un objet complexe en tant que paramètre de requête. Traditionnellement, cela nécessiterait une pléthore d'annotations @RequestParam dans votre contrôleur.

Problème :

Vous avez une requête GET pour filtrer une table avec des paramètres de requête tels que :

http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z

Les paramètres de votre contrôleur seraient be:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    @RequestParam(value = "prop1", required = false) String prop1,
    @RequestParam(value = "prop2", required = false) String prop2,
    @RequestParam(value = "prop3", required = false) String prop3) { ... }

Solution :

Pour simplifier ce processus, vous pouvez transmettre l'objet complexe directement en tant que paramètre de requête sans l'annotation @RequestParam. Spring liera automatiquement les paramètres de la requête à l'instance de votre classe :

public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn