首页 新闻 会员 周边 捐助

前后端分离项目在服务端未出错的情况下,HTTP状态码是否应该统一为200?

0
悬赏园豆:5 [已解决问题] 解决于 2023-02-05 13:46

最近很纠结一个问题,如果客户端的请求有错误,服务端返回响应除了在响应体用code和message表示错误信息,是否还应该用HTTP状态码表示错误?

如果你倾向于某一种观点,即使没有充分的论证,也请说说你的看法。

Halloworlds的主页 Halloworlds | 初学一级 | 园豆:190
提问于:2022-04-22 20:11
< >
分享
最佳答案
0

理论上,不同的HTTP Method 和 不同的HTTP StatusCode代表着不同的意义,至少再语义上是这样。

如果使用HTTP协议,那么都应该遵循此规范。

 

但是,在实际的开发中,为了避免不同公司/团队的沟通/扯皮,好多人对于接口的设计是:

一律使用POST请求,一律返回HTTP 200,内容包含自定义业务Code和ErroeMessage。

 

 

对此,两派各有支持者,也各自有理由。可以看这些讨论和观点:

https://www.v2ex.com/t/830030

https://v2ex.com/t/846679

https://coolshell.cn/articles/22173.html

这类话题的讨论基本成月经了,月月讨论

 

至于哪个是best practice,这也是主观的,毕竟

收获园豆:3
talentzemin | 小虾三级 |园豆:775 | 2022-04-24 14:01
其他回答(1)
2

提供一个参考,stackoverflow 上针对 Status code inside the body of a REST API response 的回答 https://stackoverflow.com/a/69945479

收获园豆:2
dudu | 园豆:30585 (高人七级) | 2022-04-22 21:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册