首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >成功但为空体使用的状态代码是什么?

成功但为空体使用的状态代码是什么?
EN

Stack Overflow用户
提问于 2021-07-19 13:54:37
回答 1查看 408关注 0票数 0

我的团队和我自己正在努力决定使用什么状态代码,我们通过Swagger生成的API客户机对204 (No Content)有一个条件,这个条件比本例中的404更有意义。

我们希望显示响应是成功的,但是没有返回Object

假设它是购物车:客户单击购物车并带您到页面,请求发送到端点Get//CartOrderDetails,但购物车中没有项目,我们不希望它通过API客户端的200路径运行,但我们也不希望它通过404路径,因为它不是Not Found

你们在这个案子里会用什么?

编辑:谢谢你一夜之间的回复!肯定帮助了事情的明朗化,似乎总是会有一个支持和反对204的争论。谢谢你们!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-19 15:07:56

你们在这个案子里会用什么?

我们不希望它通过API客户端的200路径运行

休息一下,这是不对的。

均匀界面是一个重要的REST约束。除其他外,这意味着所有资源都使用具有相同语义的自描述性消息。

状态代码元素是一个3位整数代码,描述服务器试图理解和满足客户端相应请求的结果。响应消息的其余部分将根据为该状态代码定义的语义进行解释。-- RFC 7230

换句话说,状态代码是通过网络域传输文档的元数据。您应该根据响应消息的语义来选择状态代码,而不是您希望如何处理该消息。

如果您要发送回客户端的是所请求的资源的表示,则应该返回200。

如果资源的表示恰好是零字节长,那么您可以不用发送204而不是200,但这并不是真正的目的。204个从远程创作中的一个角落案例中心的语义。

当然,如果您的响应包含一个主体,那么使用204状态代码可能会造成混乱,所以不要这样做。

代码语言:javascript
复制
200 OK
Content-Type: application/json

null
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68441723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档