Play Framework 2.0 - asJson()始终返回null

时间:2014-01-22 17:14:11

标签: java json playframework-2.0 request

这是一个包含用户名和电子邮件字段的简单表单。

<form method="post" action="@routes.Application.signup()" enctype="application/json">
    <input type="text" id="username" name="username">
    <input type="text" id="email" name="email">
    <button type="submit">Sign up</button>
</form>

现在我尝试在documentation中解析request().body()

@BodyParser.Of(BodyParser.Json.class)
public static Result signup() {
    RequestBody body = request().body();
    return ok("Got json: " + body.asJson());
}

返回null。 request().body().toString()但事实上我没有打印请求,显示为:

DefaultRequestBody(Some(Map(username -> List(james), email -> List(hello@sdfs.com))),None,None,None,None,None,false)

基本上我想从请求中提取名称和电子邮件,但是toJson方法总是返回null。

1 个答案:

答案 0 :(得分:1)

我无法在任何地方找到这些文件,但我遇到了同样的问题。问题出在您的内容类型标题上。如果你的标题是文本,那么你可以将主体作为字符串,而json的主体将为null。同样,如果你的标题是json,那么body作为字符串将为null,并且将解析json的主体。