Restful接口返回结构设计

正常返回和异常返回#

一个Restful接口可能会返回一些数据,也有些情况需要返回错误信息,例如:用户没有权限,账户余额不足等。 如何设计Restful的返回结构,使其可以合理的表达正常和异常情况呢?

像网络协议一样的结构#

很多网络协议都以“包”的形式传递数据,一个“包”通常包括包头和包体。 包头通常包含包的长度,状态,类型等信息,包体通常就是数据。 借用这种设计,有些Restful接口会返回一个统一的json结构,里面包含状态码,错误信息和数据,如下所示:

{
  "code": 200
  "message": "成功"
  "data": {
	...
  }
}

Restful接口是建立在http协议之上#

让运维系统可以方便的统计接口成功率#

参考资料#

https://datatracker.ietf.org/doc/html/rfc7807 https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/

comments powered by Disqus