2014-10-10 18 views
7

Web uygulaması oluşturmak için Spring MVC ve AngularJs kullanıyorum. Sunucuya bir istek gönderdim ama 400 error bad request alıyorum. Mesaj sunucusu dönüştürücüsünü, Spring servlet yapılandırma dosyasında json formatı için yapılandıracağım. Bu hatayı neden aldığımı merak ediyorum. İşte AngularJs gönderisiyle neden 400 kötü istek alıyorum?

benim açısal hizmettir:

save : function(user) { 
    return $http({ 
     method: 'POST', 
     url: '/app-web/user/create', 
     contentType: "application/json", 
     data:user 
    }); 
} 

Ve aşağıda açıklandığı gibi sunucu tarafında bir bahar MVC Denetleyicisi vardır:

@RequestMapping(value="/user/create", method= RequestMethod.POST) 
@ResponseBody 
public String createAccount(@RequestBody User user){ 
    //some logic 
    return "Ok"; 
} 

ben başka bir şey fark ettik: Ben @RequestBody içinde kaldırdığınızda denetleyici benim 400 hatasım yok, ancak kullanıcı null:

+0

Geçirdiğiniz "kullanıcı" nesnesinin değeri var mı, yoksa boş mu? – Losbear

+0

Spring MVC Denetleyicisine ulaşamıyorum. Angularjs denetleyicisinin kullanıcı değeri – Pracede

+0

değerine sahipse Chrome veya IE kullanıyorsanız ve geliştirici araçlarını (F12) açarsanız ve "kaydet: function (user) {" satırında bir kesme noktası koyun. Çalıştırın ve kod kırılma noktasına ulaştığında, "kullanıcı" üzerine gelin. Bir araç ipucu, üzerinde gezindiğiniz öğenin değeriyle birlikte görünür. Null diyor mu yoksa bir değeri var mı? Denenmesi gereken diğer bir şey, erişmeye çalıştığı tam URL’ye bakmaktır (geliştirici araçlarını kullanarak). Erişmeye çalıştığı tam URL, beklediğinizden farklı olabilir. – Losbear

cevap

4

Sorun, kullanıcı formu hakkındaydı. Soyadı, ad, e-posta, şifre, şifre1 vardı ama Kullanıcı Java Nesnesi password1 öznitelikleri içermiyor. Json verileri, istekte bulunan Java nesnesine karşılık gelmediğinde, JsonConverter veri ile Java Nesnesi arasında eşleşme yapamaz.

+0

Bunu çözdüğüne sevindim! – Losbear

+0

@Pracede Aynı sorun yaşıyorum, firebug üzerinde gösterilen giriş {"id": null, "name": "qweqweqwe", "users": {"id": 3, "kullanıcı adı": "Kaminee", "şifre": "1234", "e-posta": "kim @ postası .com "," address ":" bhumkar "," country ": {" countryId ": 1," countryName ":" India "}}} – Kamini

İlgili konular