0

in Java クライアントjsonを使用して入力を送信したいのですが、Spring MVC ライブラリによってリクエストが処理され、出力が次のように応答されます。HttpURLConnectionjacksonhausjson

URL url = new URL("http://www.test.com/SpringMVC/rest/service/getEmpDetails");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");

String input = "{\"name\":\"emp1\",\"add\":\"emp2\"}";

OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();

if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
    throw new RuntimeException("Failed : HTTP error code : "
        + conn.getResponseCode());
}

このコードを使用すると、

HTTP エラー コード: 500

Spring MVC では、入力リクエストにモデル属性を使用しています。誰でもこれについて私を助けることができますか?

4

1 に答える 1

0

コントローラから送信しているコントローラ コードが不明http_createdですか? あなたが探している必要がありますHttpURLConnection.HTTP_OK

以下のコードはあなたを助けるかもしれません

コントローラーコード:

@RequestMapping(value="/jsonconsumer", method=RequestMethod.POST, consumes=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String consumer(@RequestBody JavaBean javaBean) {
    return "created";
}

JavaBean コード:

@XmlRootElement
public class JavaBean {

    private String name = "";
    private String add = "";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAdd() {
        return add;
    }

    public void setAdd(String add) {
        this.add = add;
    }

    @Override
    public String toString() {
        return "JavaBean {name=[" + name + "], add=[" + add + "]}";
    }
}
于 2013-04-26T07:40:36.533 に答える