signature du contrôleur (je l'ai essayé en requestbody ainsi):JSON poste au printemps contrôleur mvc
@RequestMapping(value = "/Lame", method = RequestMethod.POST)
public
@ResponseBody
boolean getLame(@RequestParam String strToMatchA, @RequestParam String strToMatchB) {}
Et ce que mon JSON:
{
"strToMatchA": "EN",
"strToMatchB": "lon"
}
ne fonctionne pas, je reçois l'erreur:
org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'strToMatchA' is not present
la suppression de ce premier paramètre de signature de la méthode permet alors travailler (la méthode est appelée à juste titre), que dois-je d oing?
Quand je change les paramètres de la méthode à annoter avec @RequestBody
je reçois l'erreur suivante:
java.io.IOException: Stream closed
Avez-vous compilé avec le débogage activé? Sinon, vos noms de paramètres ne seront pas disponibles. –
@DavidGrant RequestParam prendra le nom du paramètre défini dans la signature de la méthode. Mais j'ai essayé de spécifier manuellement le nom aussi – NimChimpsky
Quelle bibliothèque utilisez-vous pour le mappage d'objet? Est-ce Jackson ou autre chose? Est-ce sur le classpath? De plus, la méthode de requête pour les contrôleurs RESTFul devrait être fondamentalement 'GET' au lieu de' POST'. – Lion