restful api 返回数据结构大家都是怎么设计的,如何包含错误信息或者额外信息呢?有没最佳实践或者大公司都是怎么做的。
API 返回数据结构设计怎么做
programming
502 views
restful api 返回数据结构大家都是怎么设计的,如何包含错误信息或者额外信息呢?有没最佳实践或者大公司都是怎么做的。
facebook 的错误信息是这么做的:Handling Errors
{
"error": {
"message": "Message describing the error",
"type": "OAuthException",
"code": 190,
"error_subcode": 460,
"error_user_title": "A title",
"error_user_msg": "A message",
"fbtrace_id": "EJplcsCHuLu"
}
}
单独一个字段 error
出来比较方便拓展错误信息。
twitter 错误信息用的 errors
这样能够返回多个错误信息,参考:Error Messages,其他数据用 data、meta 字段返回
{
"errors":[
{ "message":"Sorry, that page does not exist","code":34}
]
}
有一些标准定义可以参考:
不过讲真的,hateoas 想法很美好,实际很少公司会做到完整的 hateoas 规范,如果真的需要这些表述状态转移信息,不如直接上 graphql 自定义能力更强。