我正在使用 Java 开发 RESTful Web 服务。如果出现问题,我需要一种向客户端发送错误消息的好方法。
根据Javadoc , HttpServletResponse.setStatus(int status, String message)
已弃用“由于消息参数的含义不明确。”
是否有设置响应的状态消息或“reason phrase”的首选方法? sendError(int, String)
方法不这样做。
编辑:澄清一下,我想修改 HTTP 状态行,即 "HTTP/1.1 404 Not Found"
,而不是正文内容。具体来说,我想发送 "HTTP/1.1 400 Missing customerNumber parameter"
之类的响应。
或者我想将 HTTP 状态行修改为 227 IM Used
之类的内容- 换句话说:HTTP 状态描述不同于网络服务器知道要发送的内容。
最佳答案
我认为任何 RESTful 客户端都不会期望通过查看原因短语来找出问题所在;我见过/使用的大多数 RESTful 服务将在响应正文中发送标准状态信息和扩展消息。 sendError(int, String)
非常适合这种情况。
关于java - 如何正确地向客户端发送 HTTP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100869/