2016-04-26 20 views
1

以下のようなJSONを私の角度コントローラに入れました。これはSpringのコントローラに投稿する必要があります。私の春のコントローラで角度から春のコントローラへの複雑なJSON構造の送信方法

var items={"A":"aa", 
      "B":"bb", 
      "C":{"D":"dd", "E":"ee"} 
      }; 

$http.post('localhost:8082/ProjectName/posting',items) 
.success(function(data,status,headers, config){ 
    alert("success"); 
}) 
.error(function(error){ 
    alert(error); 
}); 

@RestController 
public class ForPost{ 
    @RequestMapping(value="/posting",method=RequestMethod.POST) 
    public @ResponseBody List forPosting(@RequestBody PostingModel postingModel){ 
    System.out.println("Print all values received"); 
    . 
    . 
    . 
    . 
    } 
} 

私は、ネストされたJSONのこの種のために考えている、私はPOJOを入れ子になっている必要があります。以下のような 何か:

public class PostingModel{ 
String A; 
String B; 
POJOForC C; 
/* getter setter below*/ 
} 

puublic class POJOForC{ 
String D; 
String E; 
/* getter setter below*/ 
} 

は、私は、エラーメッセージが表示されます。クライアントから送信されたリクエストが文法的に間違っていました()。 値を正しく受け入れていますか? POJOで何かを修正する必要がありますか?

$http.post('localhost:8082/ProjectName/posting',JSON.Stringify(items)) 
.success(function(data,status,headers, config){ 
    alert("success"); 
}) 
.error(function(error){ 
    alert(error); 
}); 

次にモデルとしてJSONを受け取る:あなたはおそらく以下のようにJSONをシリアライズする必要があります

+1

あなたは残りのクライアントから例えば郵便配達の要求を送信しようとしたことがありますか? – Nayan

+0

投稿した正確な例を試しましたか? – sura2k

+0

@Nayan no。私は休憩クライアントを使用していません –

答えて

0

public class PostingModel { 
    String reqJson; 
} 

@RestController 
public class ForPost{ 
    @RequestMapping(value="/posting",method=RequestMethod.POST) 
    public @ResponseBody List forPosting(@RequestBody PostingModel postingModel){ 

    //You would need to parse the json here to retrieve the objects 
    //Use GSON or Jackson to parse the recieved json. 
     JSONObject json = JSONObject.fromObject(postingModel.reqJson); 
    } 
} 
+0

これは複雑なJSONでうまくいくのですか?私の質問で言及したもののように? –

+0

それは間違いありません。あなたは完全なjsonをここで手に入れることができます。あなたが作ったモデルを使って個々の文字列とオブジェクトに分解することができます。 – Sajal

+0

私はちょうど今テストしました..それは私が例のような入れ子JSONを持っていないときにのみ動作します。 –

関連する問題