1. ↖回到主目录

2. com.topfox.common.Response< T > 返回结果对象

服务调用服务和前端调用后端的放回结果, 统一用此对象.

如若要符合标准http restful结构, 可在网关层转换, 单推荐微服务内部接口使用此结构, 方便对接调试等.

2.1. 主要属性

  • boolean success 是否成功
  • String code 异常编码
  • String msg 详细信息
  • String executeId 前端(请求方)每次请求传入的 唯一 执行Id, 如果没有, 后端会自动生成一个唯一的
  • Integer totalCount
    1. 查询结果的所有页的行数合计
    2. update insert delete SQL执行结果影响的记录数
  • Integer pageCount 查询结果(当前页)的行数合计
  • T data 泛型. 数据, List 或者是一个DTO
  • String exception 失败时, 出现异常类的名字
  • String method 失败时, 出现异常的方法及行数
  • JSONObject attributes 自定义的数据返回, 这部分数据不方便定义到”T data”中时使用

2.2. 构造函数(无业务数据)

出错抛出异常时使用

  • Response(Throwable e)
  • Response(Throwable e, ResponseCode responseCode, String msg)
  • Response(Throwable e, ResponseCode responseCode)
  • Response(ResponseCode responseCode, String msg)
  • Response(ResponseCode responseCode)
  • Response(String code, String msg)

2.3. 构造函数(需要返回业务数据)

查询或者更新插入删除返回数据时使用.

  • Response(T data)
  • Response(T data, Integer totalCount) data为List, list.size()会设置为当前页行数pageCount, 总行数通过第2个参数传入进来. 本构造函数分页查询时常用.

2.4. 数据格式示例

  • 失败出错返回的数据
  1. {
  2. "success": false,
  3. "code": "30020",
  4. "msg": "密码不正确,请重试",
  5. "executeId": "190409103131U951KMD495",
  6. "exception": "com.topfox.common.CommonException",
  7. "method": "com.user.service.UserService.login:190"
  8. }
  • 登陆成功返回的数据(attributes为权限信息):
  1. {
  2. "success": true,
  3. "code": "200",
  4. "msg": "请求成功",
  5. "executeId": "190409102553Y303TYC041",
  6. "totalCount": 1,
  7. "data": {
  8. "userId": "00022",
  9. "userName": "张三",
  10. "userCode": "00384",
  11. "userMobile": "*",
  12. "isAdmin": true
  13. },
  14. "attributes": {
  15. "secString": {
  16. "programList": {
  17. "btnSave": "0",
  18. "btnNew": "0",
  19. "btnDelete": "1",
  20. "btnExport": "1",
  21. "btnImport": "1"
  22. },
  23. "userProgramList": {
  24. "btnSave": "1",
  25. "btnNew": "0",
  26. "btnDelete": "0"
  27. }
  28. },
  29. "sessionId": "190409022553381R786S343"
  30. }
  31. }