http status code 是与业务无关的,业务相关的 status 还是需要通过报文返回,所以我们讨论的其实是业务无关给状态应该如何返回。其实用啥都可以,但是如果用 http status code 的话会增加一些沟通成本和程序员的心智负担,因为要学习和沟通两套 code 。我觉得能 All in one 都尽量 all in one ,看看现在企业的各种平台不都是能集成在一起的都集成在一起了,多转个圈就多了一分成本。
而且现在有些公司用 http 是对外的 web 接口,有些公司则直接用 http 作为 rpc ,后者如果为了以后升级方便,应该尽量不要依赖 http status code ,http 仅作为传输层使用。