无法使用 postman (play framework 2.6) 执行 localhost POST 调用

Fail to perform localhost POST call using postman (play framework 2.6)

太奇怪了,我正在使用邮递员在 localhost:9000 上测试我的应用程序控制器方法,对于我的 GET api 方法,我没有问题访问和获得响应,但是对于 POST api 我得到的方法:

play.filters.CSRF - [CSRF] Check failed because no token found in headers

从未见过此消息...

我有最简单的控制器:

 def invoiceQA(): Action[JsValue] = Action.async(parse.json) { request =>
    Future{Ok(Json.toJson("""{"message": "got your json"}"""))}
  }

我的路线:

POST    /update    controllers.MyController.update

在邮递员中我收到 403 forbidden..

邮递员地址:

http://localhost:9000/update

有人知道这是为什么吗..?

如果您查看 Play ScalaCsrf Docs,CSRF 过滤器已配置并检查是否满足任何条件:

  • The request method is not GET, HEAD or OPTIONS.
  • The request has one or more Cookie or Authorization headers.
  • The CORS filter is not configured to trust the request’s origin.

如果你根本不需要 CSRF 保护,你可以通过添加以下配置来禁用过滤器(更多信息在 Play Filters Docs:

play.filters.disabled+=play.filters.csrf.CSRFFilter