您好在我的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()

10-06 07:04