目前的仿 github 的,返回的消息格式有点不一致. Java 端调用时,因为格式不统一,自动映射有点困难。
比如 github 的 403 错误一般是直接给个 message,errors 无
{
"message": "API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting for details."
}
422 错误时返回的带 errors,这样的格式貌似手机端解析出来不太好显示给用户,得自己解析 code 再显示自己写的错误信息. 另外碰到非 field 错误时应该怎么处理。例如找回密码,邮箱等信息是正确的,但是发送邮件的时候失败了,那应该返回什么样的信息格式给调用端。
{
"message": "Validation Failed",
"errors": [
{
"resource": "Issue",
"field": "title",
"code": "missing_field"
}
]
}
```
twiiter的消息格式不错,直接返回一个errors父接点,数组里面再是错误信息与对应的code.需要直接显示错误的直接显示,不想直接显示自己判断code,再显示自己的错误信息.
也许可以考虑再加入一个field字段,这样手机端就能很好的定位是那个输入框的数据有问题,从而高亮提醒用户.
{"errors":[{"message":"Bad Authentication data","code":215}]}
github的错误响应文档: http://developer.github.com/v3/#client-errors
twitter的错误响应文档 https://dev.twitter.com/docs/error-codes-responses
待讨论的问题有两点
* 错误消息的格式
* 错误代码的设计
---------------
另外自己碰到一个坑,list返回最好包含一个root接点,像github一样直接返回一个数组,Java是不能很好处理自动映射的.
http://developer.github.com/v3/issues/#list-issues