verwende ich Spring MVC und AngularJS eine Web-Anwendung zu erstellen. Ich sende eine Anfrage an den Server, aber ich bekomme 400 error bad request
. Ich konfiguriere den Nachrichtenkonverter für das JSON-Format in der Spring-Servlet-Konfigurationsdatei. Ich frage mich, warum ich diesen Fehler bekomme.Warum erhalte ich bei AngularJs Post 400 schlechte Anfragen?
Hier ist mein Winkelservice:
save : function(user) {
return $http({
method: 'POST',
url: '/app-web/user/create',
contentType: "application/json",
data:user
});
}
Und auf der Server-Seite habe ich ein Spring MVC-Controller, wie unten beschrieben:
@RequestMapping(value="/user/create", method= RequestMethod.POST)
@ResponseBody
public String createAccount(@RequestBody User user){
//some logic
return "Ok";
}
Ich bemerkte etwas anderes: Wenn ich entfernen Sie die @RequestBody
in der Controller Ich habe keine 400 Fehler, aber der Benutzer ist null
:
@RequestMapping(value="/user/create", method= RequestMethod.POST)
@ResponseBody
public String createAccount(User user){
//some logic
return "Ok";
}
Hat die „user“ Objekt, das Sie in sind vorbei, haben einen Wert oder ist es null? – Losbear
Ich kann den Spring MVC Controller nicht erreichen. Im AngularJS Controller Benutzer haben Wert – Pracede
Wenn Sie Chrome oder Internet Explorer verwenden, und öffnen Sie die Entwicklertools (F12) und einen Haltepunkt setzen auf die Zeile „speichern: function (user) {“. Führen Sie es aus, und wenn der Code den Haltepunkt erreicht, bewegen Sie den Mauszeiger über "Benutzer". Ein Tooltip wird mit dem Wert des Elements angezeigt, über dem Sie den Mauszeiger halten. Sagt es null oder hat es einen Wert? Eine andere Sache, die man ausprobieren sollte, ist die genaue URL, auf die zugegriffen werden soll (wiederum unter Verwendung von Entwicklertools). Die genaue URL, auf die zugegriffen werden soll, ist möglicherweise anders als erwartet. – Losbear