Java 使用Play Framework Assets Controller返回资产时需要添加标题

Java 使用Play Framework Assets Controller返回资产时需要添加标题,java,playframework,Java,Playframework,我需要返回带有标题的pdf文件 X-Robots-Tag: noindex 有没有一种方法可以使用标准的play Assets Controller执行此操作?查看源代码内部,唯一可以配置的是: val configuredCacheControl = config(_.getString("\"assets.cache." + name + "\"")) 谢谢我可能同意你的想法。像这样的事情应该会让你有一部分的方法,基本上我所做的就是利用这出戏!为静态资源提供服务但向结果添加标头的控制器

我需要返回带有标题的pdf文件

X-Robots-Tag: noindex

有没有一种方法可以使用标准的play Assets Controller执行此操作?查看源代码内部,唯一可以配置的是:

val configuredCacheControl = config(_.getString("\"assets.cache." + name + "\""))
谢谢

我可能同意你的想法。像这样的事情应该会让你有一部分的方法,基本上我所做的就是利用这出戏!为静态资源提供服务但向结果添加标头的控制器:

object AssetsController extends Controller {

def modifiedAsset(path: String, file: String): Future[Result] = Async.action { implicit request =>
  Assets.at(path, file)(request).map { result => 
   result.withHeaders(("X-Robots-Tag", "noindex"))
  }
}

然后,您的
路由
文件需要从
controllers.Assets.at(path=“/public”,file)
修改为
controllers.assetcontroller.modifiedAsset(path=“/public”,file)

感谢您编辑哪个版本的Play?您可以随时编写自己的assets controller并在action方法中添加所需的标题。无论如何,我认为您可以使用筛选器轻松完成所需操作:感谢您的回复,我使用controller解决了问题