您好在我的playframework应用程序中,我想执行一个简单的Post请求。
所以我在我的路线中定义了:
POST /printName @controllers.Index.printName()
我在Scala中也这样做。
然后,我具有以下控制器功能:
public Result printName(Http.Request request) {
JsonNode json = request.body().asJson();
return ok("Got name: " + json.get("name").asText());
}
因此,现在编译器返回:
类Index中的方法printName缺少参数;
如果要将其视为部分应用的函数,请在此方法后加上“ _”
当我在路由中添加参数时,如下所示:
POST /printName @controllers.Index.printName(request: Request)
然后我得到这个错误
找不到:键入请求
怎么会正确呢?示例来自Playframework页面:https://www.playframework.com/documentation/2.7.x/JavaBodyParsers#The-default-body-parser
提前致谢。
最佳答案
我找到了解决方案:
控制器功能
public Result printName() {
Http.Request request = request();
JsonNode json = request.body().asJson();
return ok("Got name: " + json.get("name").asText());
}
和路线
POST /printName @controllers.Index.printName()