JSON - Spring MVC : Comment publier des données json à spring MVC contrôleur
J'ai un problème d'affichage de données JSON à partir de jsp
à controller
. Chaque fois que j'essaie, j'obtiens une erreur ajax Bad Request
. Je suis nouveau en JSON et je ne sais vraiment pas ce que je fais de mal. J'ai cherché et essayé quelques échantillons que je peux trouver dans ce site mais je vais avoir un problème.
Dans mon controller:
@RequestMapping (method = RequestMethod.POST, headers ={"Accept=application/json"}, value = "/form")
public String postJournalEntry (@RequestParam ("json") String json, Model model) {
System.out.println(json);
return "successfullySaved";
}
Dans ma jsp:
$("#btnPostGlEntry").click(function () {
var glEntries = '{"glEntries":[{"generalLedgerId":"1"},{"accountId":"4"},{"amount":"344.44"},{"description":"Test Entry"},{"debit":"Yes"}]}';
$.ajax({
type: "POST",
contentType: "application/json",
dataType: "json",
url: contextPath + "/generalLedger/journalEntries/form",
data : JSON.stringify(glEntries),
success: function(data) {
alert("Success!!!");
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR + " : " + textStatus + " : " + errorThrown);
}
});
});
REMARQUE : Im ne sais même pas si ma fonction dans mon contrôleur est correct. Je pense que mon contrôleur et mon ajax sont mauvais. S'il vous plaît aider.
OriginalL'auteur NinjaBoy | 2013-01-28
Vous devez vous connecter pour publier un commentaire.
Si vous voulez que votre JSON être désérialisé dans une classe, que vous devez définir la méthode comme ceci (et n'oubliez pas d'ajouter jsonConverter, comme dans la question précédente):
Mais, si vous voulez que votre méthode d'accepter JSON comme une Chaîne de caractères que cela:
Donc, fondamentalement, si vous publiez JSON, cela signifie que JSON n'est pas un paramètre, c'est le corps de la demande. Et finalement, vous avez à utiliser @RequestBody annotation, au lieu de @RequestParam.
Vous pouvez trouver de belles tutoriel vidéo de Spring Mvc et JSON ici: sites.google.com/site/upida4j/example
OriginalL'auteur user2626270
il semble que vous n'avez pas un Json Convertisseur configuré correctement
comme celui-ci
OriginalL'auteur TheWhiteRabbit