2014-02-26 90 views
0

我的目標是infoAngularjs:傳遞對象到Java API

info Date: "" ids: Array[1] __proto__: Object 它擁有所有的價值觀和我的角度發送。 在Java端,如果輸入的參數是一樣

public ResponseEntity<Boolean> update(@RequestBody myObject input) {...} 

我得到一個錯誤:400(壞請求) HTTP Status 400 - type Status report message description The request sent by the client was syntactically incorrect.

但是,如果在API我做

public ResponseEntity<Boolean> update(@RequestBody String input) {...} 

它的工作原理精細!它有什麼問題? myObject確實只有

String Date; 
String[] ids; 
+1

正如伊恩所說,你必須將JSON字符串反序列化爲一個Object。這裏有一個帖子,涵蓋了幾個選擇這樣做:http://stackoverflow.com/questions/1395551/convert-a-json-string-to-object-in-java – rob

回答

0

我假設你使用$ http.post或$ http.put從AngularJS發送數據? Angular將JSON作爲請求主體中的字符串發送。我建議你使用類似Gson這樣的庫將JSON解碼爲Java對象(請參見反序列化)。

+0

謝謝有沒有辦法發送一個對象從角?我記得我在使用.map之前做過這樣的事情。 – Sara

+0

不像你想的那樣。 Angular通過HTTP將數據發送到服務器。請求正文由文本組成。 –