状态码用http status code 还是 在response body 中自定义code
列举总结一下各大厂的API的设计风格
总结
- 国内资讯类大厂出于兼容性考虑 以及杀毒软件和安全浏览器 拦截404 页面 等并未采用REST API
- 业务复杂度高的开放平台也未采用Rest API 如支付宝,微信,微博
- 国外API多采用REST API 包括很多框架的设计(PHP Laravel)
百度手机站
jsonp http status code 200
百度PC站
jsonp ,收集搜索数据接口 http status code 200
今日头条PC
json,使用message区分状态 http status code 200
今日头条手机站
json http status code 200 has_more 区分
新浪微博PC
json http status code 200 直接返回html
微博手机站
Google手机站
restful api
极光推送
RestFul API HTTP STATUS CODE + Response Body 自定义CODE
GitHub
Restful API https://developer.github.com/v3/#client-errors
个人结论
遵守RFC规范,遵守业内标准,融入生态,工业技术是要标准化的。
更详细的论述看左耳朵耗子的文章 “一把梭: REST API 全用 POST”
应用案例
laravel框架默认的错误信息返回风格
去掉最外层data数据包裹 文档
参考