Play Framework Java 中的 POST 请求

Posted

技术标签:

【中文标题】Play Framework Java 中的 POST 请求【英文标题】:POST Request in Playframework Java 【发布时间】:2019-04-24 16:29:50 【问题描述】:

嗨,在我的 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

提前致谢。

【问题讨论】:

【参考方案1】:

我找到了解决办法:

控制器功能

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()

【讨论】:

以上是关于Play Framework Java 中的 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章

缺少包'play.filters.cors.CORSFilter' - Play Framework 2.4.6 (Java)

在 Play framework 2.3 中设置 cookie sameSite

是否可以在 Play Framework 2.7 中访问动作组合中的路由参数?

Play Framework:如何不查看文件夹以了解 Play Framework 中的更改

如何在 Play Framework JSON Rest 上使用 java.time.LocalDate?

模板的 Play Framework 自定义 java 扩展