代码之家  ›  专栏  ›  技术社区  ›  Felix

PraseFraseJava中的POST请求

  •  0
  • Felix  · 技术社区  · 5 年前

    嗨,在我的playframework应用程序中,我想做一个简单的post请求。

    所以我在我的路线中定义了:

    POST        /printName                              @controllers.Index.printName()
    

    我在斯卡拉也是这样做的。

    然后我有以下控制器功能:

    public Result printName(Http.Request request) {
        JsonNode json = request.body().asJson();
        return ok("Got name: " + json.get("name").asText());
    }
    

    所以现在编译器返回:

    类索引中缺少方法printname的参数; 如果要将此方法视为部分应用的函数,请使用“u”执行此方法

    当我像这样在路由中添加参数时:

    POST        /printName                  @controllers.Index.printName(request: Request)
    

    然后我得到了这个错误

    未找到:类型请求

    怎么会是正确的?示例来自PlayFramework页面: https://www.playframework.com/documentation/2.7.x/JavaBodyParsers#The-default-body-parser

    事先谢谢。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Felix    5 年前

    我找到了解决方案:

    控制器功能

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