如何将Json发布到Play Framework Morphia控制器

时间:2012-04-30 07:25:24

标签: json playframework morphia

我首先尝试使用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

我读过的例子表明这只是工作,但我已经搞这个很长一段时间而且还没弄明白。这是如何工作的?

1 个答案:

答案 0 :(得分:1)

  1. Play无法将Json绑定到object direclty
  2. 您的帖子数据没有名为“item”的参数
  3. 您应将邮政编码更改为:

    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();
    }