我首先尝试使用play 1.2.4和morphia 1.2.6a将json数据发布到我的控制器。总是在游戏中的某个地方以空指针异常结束,所以我切换到播放1.2.3并且我得到了更多,但我仍然感到困惑。后调用现在成功但数据似乎永远不会到来。
路线
POST /mytest mycontroller.myposttest
mycontroller.java
public static void myposttest(SampleObject item){
Gson gs = new GsonBuilder().create();
System.out.printf(gs.toJson(item));
//NOTE: item is empty every time
}
mytest.java
String jsonText = "{name=\"foo\"}";
Response response = POST("/mytest/","application/json",jsonText);
//NOTE: the post call succeeds but the jsonText data is not found on the other side
我读过的例子表明这只是工作,但我已经搞这个很长一段时间而且还没弄明白。这是如何工作的?
答案 0 :(得分:1)
您应将邮政编码更改为:
Response response = POST("/mytest/","application/json",{item: jsonText});
您的控制器代码应为:
public static void myposttest(String item){
Gson gs = new GsonBuilder().create();
SampleObject obj = gs.fromJson(item);
obj.save();
ok();
}