我正在使用Java开发RESTful Web服务。如果出现问题,我需要一种将错误消息发送给客户端的好方法。
根据Javadoc的规定, “由于message参数含义不明确 ,HttpServletResponse.setStatus(int status, String message)因此不建议使用 ”。
HttpServletResponse.setStatus(int status, String message)
有没有设置状态消息或响应的“ 原因短语 ”的首选方法?该sendError(int, String)方法不这样做。
sendError(int, String)
编辑:为了澄清,我想修改HTTP状态行,即"HTTP/1.1 404 Not Found"不是主体内容。具体来说,我想发送类似的回复"HTTP/1.1 400 Missing customerNumber parameter"。
"HTTP/1.1 404 Not Found"
"HTTP/1.1 400 Missing customerNumber parameter"
我认为任何RESTful客户端都不希望看到原因短语来找出问题所在;我见过/使用过的大多数RESTful服务都会在响应正文中发送标准状态信息和扩展消息。sendError(int, String)非常适合那种情况。