这是一个包含用户名和电子邮件字段的简单表单。
<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。
答案 0 :(得分:1)
我无法在任何地方找到这些文件,但我遇到了同样的问题。问题出在您的内容类型标题上。如果你的标题是文本,那么你可以将主体作为字符串,而json的主体将为null。同样,如果你的标题是json,那么body作为字符串将为null,并且将解析json的主体。