Printemps: Comment obtenir des paramètres de POSTE de corps?
Web service à l'aide de printemps dans laquelle je dois obtenir les paramètres à partir du corps de mon post? Le contenu du corps est comme:-
source=”mysource”
&json=
{
"items": [
{
"username": "test1",
"allowed": true
},
{
"username": "test2",
"allowed": false
}
]
}
Et le web-service méthode ressemble à ceci:-
@RequestMapping(value = "/saveData", headers="Content-Type=application/json", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Boolean> saveData(@RequestBody String a) throws MyException {
return new ResponseEntity<Boolean>(uiRequestProcessor.saveData(a),HttpStatus.OK);
}
S'il vous plaît laissez-moi savoir comment puis-je obtenir les paramètres de l'organisme? Je peux obtenir le corps tout entier dans ma chaîne mais je ne pense pas que ce serait une approche valable. S'il vous plaît laissez-moi savoir comment faire pour aller plus loin.
Si vous essayez de consommer un objet JSON votre demande n'est pas valide.
Donc, je dois utiliser les headers="Content-Type=" application/x-www-form-urlencoded" ?? droit
Non, vous aurez besoin d'envoyer l'objet JSON dans le corps de la requête avec le contentType application/json. Votre gestionnaire doit accepter un objet qui représente votre objet JSON comme argument.
Donc, je dois utiliser les headers="Content-Type=" application/x-www-form-urlencoded" ?? droit
Non, vous aurez besoin d'envoyer l'objet JSON dans le corps de la requête avec le contentType application/json. Votre gestionnaire doit accepter un objet qui représente votre objet JSON comme argument.
OriginalL'auteur Harinder | 2014-03-04
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir les param de demande.
Merci cela a fonctionné après un changement de type de contenu :-headers="Content-Type=" application/x-www-form-urlencoded"
Je suis assez nouveau à Java et au Printemps. Quel est le "Modèle"? Je suis confus.
apprendre le modèle MVC premier et vous l'obtiendrez.
OriginalL'auteur Jason
Vous pouvez obtenir tout le corps post dans un POJO. La suite est quelque chose de semblable
Où chaque champ dans Pojo (y Compris des accesseurs/mutateurs) doit correspondre au format Json objet de demande que le contrôleur reçoit..
OriginalL'auteur alowsarwar
Vous pouvez lier le json d'un POJO à l'aide de
MappingJacksonHttpMessageConverter
. Ainsi, votre contrôleur de signature peut lire :-Où RequestDTO doit être un haricot dûment annoté de travailler avec jackson de la sérialisation/désérialisation. Votre *-servlet.xml le fichier doit avoir l'Jackson message convertisseur inscrit dans RequestMappingHandler comme suit :-
C'est proche mais, et de ne pas utiliser le raw de demande et de réponse (WTF?) comme dans la accepté de répondre.
OriginalL'auteur redzedi
Dans la classe de faire comme ceci
En page de faire comme ceci:
OriginalL'auteur Maheshbabu Jammula
Vous aurez besoin de ces importations...
Et, si vous utilisez Maven, vous aurez également besoin de ces dans les dépendances du bloc de l'pom.xml fichier dans votre répertoire de base.
Ensuite énumérées ci-dessus corrigé par Jason:
OriginalL'auteur HoldOffHunger
Vous pouvez essayer d'utiliser @RequestBodyParam
https://github.com/LambdaExpression/RequestBodyParam
OriginalL'auteur LambdaExpression