0

JSON オブジェクトのリストを投稿リクエストに送信しようとしています。ここで500エラーが発生し続けます。メソッド定義の変数を正しいデータ型に設定していないように感じますが、何を設定すればよいかわかりません。

AJAX リクエスト:

function post_request(json_data) {

    $j.ajax({
        url : '../api/createDisplayGroup/postHtmlVar/' + containerID[1] + '/' + containerType[1],
        data: JSON.stringify(json_data),
        dataType: 'json',
        type : 'post',
        contentType : 'application/json'
    }).done(function(response) {
        run_update(response);
    }).error(function(jQXHR, textStatus, errorThrown) {
        alert('error getting request');
    });
};

Java REST サービス (POST のみ):

@POST
 @Path("/postHtmlVar/{containerId}/{contentType}")
 @Consumes(MediaType.APPLICATION_JSON)
 public List<TabDefinition> postHtml(@PathParam("containerId") String containerId, @PathParam("contentType") String contentType, List<JSONObject> displayGroups) {
     Long contId = Long.parseLong(containerId);
     Long contType = Long.parseLong(contentType);


     //return convertToResponse(peopleFilterService.getDisplayGroups(contId, contType));*/

     return testDisplayGroup();
}
4

1 に答える 1

0

入力 json 文字列を@FormDataParam. あなたのJAVA RESTフレームワークがjsonをJSONObjectのリストにマーシャリングできるとは思いません。json データを表すクラスを作成し、次のようにメソッドを定義する必要がある場合があります。

public List<TabDefinition> postHtml(@PathParam("containerId") String containerId, @PathParam("contentType") String contentType, @FormDataParam MyJSonDataClass myJsonDataClassObj) {
于 2013-08-12T16:10:41.300 に答える