Sha*_*ire 2 java rest web-services http jax-rs
我编写了 Rest API,当后端系统中有数据时,它返回 200 http 代码。但是,当后端系统中没有数据时,我应该返回哪个 http 状态代码,这样它将帮助客户端代码毫无歧义地解释响应。
我编写了 Rest API,当后端系统中有数据时,它返回 200 http 代码。但是,当后端系统中没有数据时,我应该返回哪个 http 状态代码,这样它将帮助客户端代码毫无歧义地解释响应。
快速复审; 状态码描述...
服务器尝试理解并满足客户端相应请求的结果。响应消息的其余部分将根据为该状态代码定义的语义进行解释。
换句话说,它是响应的简写分类,而不是后端系统的状态。
当后端系统中没有数据时我应该返回哪个http状态代码,以便它将帮助客户端代码毫无歧义地解释响应。
这取决于“后端系统中没有数据”对于您的上下文意味着什么。
如果后端系统中没有数据表明客户端出现错误,那么您应该从客户端错误 4xx类返回状态代码。
如果后端系统中没有数据表明服务器出现错误,那么您应该从服务器错误 5xx类返回状态代码。
如果系统中根本没有错误(请求正常,服务器正在正确处理请求),那么您应该从 Success 2xx类返回状态代码
204 内容没有明确的含义;它通知客户端(和中间组件)原始服务器的响应在响应负载主体中不包含任何内容。
204 响应由标头字段后的第一个空行终止,因为它不能包含消息正文。
换句话说,如果没有可用数据的表示是一个空的 application/json 对象
{}
Run Code Online (Sandbox Code Playgroud)
或一个空的 application/json 数组
[]
Run Code Online (Sandbox Code Playgroud)
或 application/json null
null
Run Code Online (Sandbox Code Playgroud)
并且您将该表示发送给客户端,然后使用204状态代码不符合 RFC 7321。200 几乎肯定是在这些情况下使用的正确代码。
| 归档时间: |
|
| 查看次数: |
5507 次 |
| 最近记录: |