我正在我的HTTP服务中编写一个新端点,该端点构建在Play框架上,并返回特定错误的自定义状态代码(在这种情况下为442
)。当我使用cURL测试端点时,我收到了预期的错误代码:
...
< HTTP/1.1 442 Client Error (442)
....
我想做的是定制&#34;客户端错误&#34;文本,这样响应实际上会读取如下内容:
442 Forced Password Reset
这是可能的,还是在规范中,4xx类的任何自定义状态代码都将由所有客户端解释为&#34;客户端错误&#34;?
(我一直在查看relevant Play documentation on Statuses,但是没有看到任何选项来自定义纯文本状态代码整数本身。)
答案 0 :(得分:5)
查看源代码,我花了很长时间才找到以下内容:
所以,没有重写Play的某些部分,没有任何真正好的解决方案。
您可以使用某种后置过滤器来修改响应并更改原因短语,但我不知道它是如何工作的,或者即使可以在Play中编写这些类型的过滤器!
最后,原因短语并不是那么重要,因为客户通常不会(也不应该)实际解析它。