[关闭]
@ck875079028 2018-08-04T01:09:26.000000Z 字数 1656 阅读 790

接口返回值格式约定

1.接口返回值格式示例

  1. {
  2. "code":int,
  3. "msg":"String",
  4. "data":int || String || {} || [] //data里的数据是个java对象
  5. }

全局返回码示例

  1. - 0 请求成功
  2. - 1 权限不足
  3. - 2 正常失败
  4. - 3 未登录
  5. - 4 token过期
  6. - 5 无效token
  7. - 6 缺少token参数
  8. - 7 验证码不正确
  9. - 500 服务器内部错误
  10. - 客户端直接提示返回值中的msg即可,后端需要在返回值的msg中写明失败原因
  11. - 特殊情况在定义新的code

代码示例

1:处理code示例

  1. if (code== 成功返回码) {
  2. //进行成功操作
  3. } else if (code== 未登录或者登录过期返回码){
  4. //提示用户message中的信息,进行未登录操作
  5. } else {
  6. //直接提示用户message中的信息,或根据详细code并做相应操作
  7. }

2、分页返回示例

  1. params: {
  2. "pageNum": 1,// 页码
  3. "pageSize" 20 //每页大小
  4. }
  5. response
  6. {
  7. "code":成功返回码,
  8. "msg":"请求成功",
  9. "data":{
  10. "pageNum":1, //当前页码
  11. "pageSize":20, //每页显示记录数大小
  12. "size":4, //当前页记录数量
  13. "orderBy":null,
  14. "startRow":1, //开始行数
  15. "endRow":4, //结束行数
  16. "total":4, //数据总记录数
  17. "pages":1, //总页数
  18. "list":[{...},{...},{...}], //当前页数据
  19. "firstPage":1, //第一页页码
  20. "prePage":0, //上一页页码
  21. "nextPage":0,//下一页页码
  22. "lastPage":1, //最后一页页码
  23. "isFirstPage":true, //是否是第一页
  24. "isLastPage":true, //是否是最有一页
  25. "hasPreviousPage":false, //是否有上一页
  26. "hasNextPage":false, //是否有下一页
  27. "navigatePages":8, //导航页码数
  28. "navigatepageNums":[1] // //所有导航页号
  29. }
  30. }

3、单个对象返回示例

  1. params: {
  2. "code":"021ZLZY32oEkpN0IJRX32n88Z32ZLZYc"
  3. "url" "www.baidu.com"
  4. }
  5. response
  6. {
  7. "code":成功返回码,
  8. "msg":"请求成功",
  9. "data":{
  10. "timeStamp":"1530690245",
  11. "signature":"eb3f4b99de2ac50c5921766fd268001992a8b09c",
  12. "nonceStr":"08dbcdf0-70c7-4809-b517-d52a33155705"
  13. }
  14. }

4、单个属性返回示例

  1. params: {
  2. "phone":"111"
  3. "password" "11"
  4. }
  5. response
  6. {
  7. "code":成功返回码,
  8. "msg":"请求成功",
  9. "data":"gjfkdddddddddddddddddjk"
  10. }

5、同时返回多个对象示例(map)

  1. params: {
  2. "phone":"111"
  3. "password" "11"
  4. }
  5. response
  6. {
  7. "code":成功返回码,
  8. "msg":"请求成功",
  9. "data":{
  10. "card": {
  11. "id":111
  12. },
  13. "userInfo":{
  14. "name":"张三"
  15. }
  16. }
  17. }

6、数组返回示例(list)

  1. params: {
  2. "type":"111"
  3. }
  4. response
  5. {
  6. "code":成功返回码,
  7. "msg":"请求成功",
  8. "data":[{
  9. "status":0
  10. "statusName": "在线"
  11. },{
  12. "status":1
  13. "statusName": "离线"
  14. }]
  15. }

6:含有时间的数据返回

  1. 时间数据需要给客户端返回是时间戳,不需要后台格式化(可以考虑数据库存储的也是时间戳)

7:异常处理机制

  1. 每个项目必须加上全局异常捕捉,并按照上文约定格式返回状态码为500的结果,避免将异常和错误直接展示在页面。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注