2

我首先尝试使用带有 morphia 1.2.6a 的 play 1.2.4 将 json 数据发布到我的控制器。这总是以播放内部某处的空指针异常结束,所以我切换到播放 1.2.3 并且我更进一步,但仍然感到困惑。post 调用现在成功,但数据似乎永远不会到达。

路线



    POST /mytest    mycontroller.myposttest

我的控制器.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

我读过的例子表明这只是工作,但我已经搞砸了很长时间并且没有弄清楚。这是如何工作的?

4

1 回答 1

1
  1. Play 无法将 Json 直接绑定到对象
  2. 您的帖子数据没有名为“item”的参数

您应该将您的邮政编码更改为:

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();
}
于 2012-04-30T07:44:00.063 回答