私は Play 1.2.4 に取り組んでいます。
私は次のようにルートを設定しました:
POST /index Application.index(format:'json')
コントローラは次のようになります。
public static void index(String json) {
Logger.info("content type: %s", request.contentType);
Logger.info("json string: %s", json);
MyObj obj = new Gson().fromJson(json, MyObj.class);
...
...
}
そして、私のcurlリクエストは次のようなものです:
curl -v -H "Content-Type: application/json" -X POST -d '{"name":"John Smith","email":"email@email.com","value1":"Value one","value2":"Value two","urls":[{"url":"http://www.google.ca"},{"url":"http://www.msn.ca"}]}' http://localhost:9000/index
MyObj には次のフィールドがあります。
public String name;
public String email;
public String value1;
public String value2;
public String[] urls;
ただし、コントローラは入力に NULL を受け取ります。私は何を間違っていますか?JSON POST リクエストを使用してオブジェクト (特に URL の配列) に変換する方法を教えてもらえますか? ありがとう!