无法使用 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
太奇怪了,我正在使用邮递员在 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