Uso Spring MVC e AngularJs per creare un'applicazione web. Invio una richiesta al server ma sto ottenendo 400 error bad request
. Configuro il convertitore di messaggi per il formato JSON nel file di configurazione del servlet di Spring. Mi sto chiedendo perché sto ottenendo questo errore.Perché ricevo 400 richieste errate con il post di AngularJs?
Qui è il mio servizio angolare:
save : function(user) {
return $http({
method: 'POST',
url: '/app-web/user/create',
contentType: "application/json",
data:user
});
}
E sul lato server ho un MVC controller primavera come descritto di seguito:
@RequestMapping(value="/user/create", method= RequestMethod.POST)
@ResponseBody
public String createAccount(@RequestBody User user){
//some logic
return "Ok";
}
ho notato un'altra cosa: quando rimuovo il @RequestBody
in il controller non ha un errore 400 ma l'utente è null
:
@RequestMapping(value="/user/create", method= RequestMethod.POST)
@ResponseBody
public String createAccount(User user){
//some logic
return "Ok";
}
L'oggetto "utente" che stai passando ha un valore o è nullo? – Losbear
non riesco a raggiungere il controller MVC Spring. Nell'utente del controller Angularjs ha valore – Pracede
Se si utilizza Chrome o IE e si aprono gli strumenti di sviluppo (F12) e si inserisce un punto di interruzione sulla riga "save: function (user) {". Eseguilo e quando il codice raggiunge il punto di interruzione, passa con il mouse su "utente". viene visualizzata una descrizione comando con il valore dell'oggetto su cui si passa il mouse. Dice nulla o ha un valore? Un'altra cosa da provare è guardare l'URL esatto a cui sta tentando di accedere (ancora utilizzando gli strumenti di sviluppo). L'URL esatto che sta tentando di accedere potrebbe essere diverso da quello che ti aspettavi. – Losbear