如何在Play 2.6中禁用可写内容?

时间:2019-01-14 15:18:55

标签: scala playframework

在Play中,如果您执行以下操作:

Ok("some text")

...它将自动返回200个文本/纯文本响应。

问题是,我不想返回文本/纯文本的响应,并且有一个内置的Writeable可以转换为文本/纯文本的事实,这意味着有时人们会偶然地这样做。

是否可以将String禁用为text/plain可写?

此外,理想情况下,我只希望允许某些Writeable,以确保我们始终在响应中使用正确的分页格式。有没有办法限制打开哪些可写内容?

2 个答案:

答案 0 :(得分:1)

您可以明确指定要使用的可写

val otherStringWriteable = new Writeable[String](
   str => ByteString(str.getBytes(), 
   Some("text/other")
)

Ok("some text")(otherStringWriteable)

答案 1 :(得分:1)

如果您具有针对所有接口的测试,则过滤器可能是解决问题的方法:ScalaHttpFilters

类似这样的东西:

- .:/usr/src/app