play-silhouette:为 (Un)SecuredAction 指定 body 解析器?

play-silhouette: specify body parser for (Un)SecuredAction?

我在 play web 应用程序中使用 silhouette 进行身份验证,并想做这样的事情:

def action = UnsecuredAction(BodyParsers.parse.json).async { implicit request => 
    // use json 
}

这似乎在使用 Play 的 build-in Action 时可行,但在使用 silhouette 的 UnsecuredActionSecuredAction 时则不行。有没有办法做到这一点而不必退回到剪影的 (Un)SecuredRequestHandler 或不必手动检查 body 是否实际上是 JSON?

您可以使用 async(parse.json).

将您的请求正文解析为 JSON

例如:

def index = silhouette.SecuredAction.async(parse.json) { implicit request =>
   // Write your code here...
}