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!