播放接受POST的框架控制器方法

时间:2012-02-04 20:37:24

标签: rest post playframework

我没有找到一个示例详细说明接受post请求的方法的格式以及相应的功能测试。以下是我正在做的事情。控制器方法获取null json字符串值。我查看了binder选项,但我觉得下面的方法很简单,并尝试使其工作。我错过了一些微不足道的事情吗?

播放v 1.2.4

路由

  /v1/xyzs                  Application.createXyz(format:'json')

控制器

public static void createXyz(String xyzJson)
{
    Xyz xyz = new Gson().fromJson(xyzJson, Xyz.class);
    Xyz savedXyz = xyz.save();

    render();
}

功能测试

@Test
public void createXyzTest()
{
    Xyz xyz = new Xyz("id", 12345, "Summary", "Main");
    String body = new Gson().toJson(xyz);

    Response response = POST("/v1/xyzs", "application/json", body);

    assertStatus(201, response);
}

更新 功能测试中的代码如下。

Xyz xyz = new Xyz("id", 12345, "Summary", "Main");
String body = new Gson().toJson(xyz);

Map<String,String> params = new HashMap<String,String>();
params.put("xyzJson", body);
Response response = POST("/v1/xyzs",params);

1 个答案:

答案 0 :(得分:1)

如果String body = String.format("{\"xyzJson\": %s}", new Gson().toJson(xyz));

,该怎么办?