Common

Hope 带来框架层几个扩展:

模块备注
it-common包含:通用辅助类(Utils), 通用协议定义
it-common-api涉及到API通用类,辅助类定义
it-common-mock运行时 mock 上下文定义
it-common-springspring 扩展,详细参考下面spring 系列
it-common-spring-commonspring 通用扩展
it-common-spring-apispring API定义扩展
it-common-spring-cachespring cache扩展
it-common-spring-corespring 核心扩展
it-common-spring-dataspring data扩展
it-common-spring-mockspring mock 扩展

it-common

包名备注范围
async包含两个通用 Executor Global帮助类可选
contractcontract 测试协议定义mock使用
enumeration常量定义协议必须
meta框架 meta信息定义,框架需要(运行时不需要)框架
persistence框架 ORMd定义信息,框架需要(运行时不需要)框架
runtime运行时上下文,作为actuator信息暴露,框架处理框架
scriptIDEA 扩展内嵌script 需要,运行时不需要框架
serviceAPI 服务信息annotation,运行时信息框架
  1. 大部分是框架运行时依赖的对象,在自己业务逻辑代码基本不需要引用;
  2. enumeration 是框架内定义需要对外暴露常量固定范式,使用 proto 方式定义会自动符合此标准;

it-common-api

包含 API 运行时定义公用数据类型和帮助类;

类名备注
PageRequest分页查询Parameter对象
Pageable分页数据集
Result标准API返回结果
ResultBuilderResult Builder

分页

参考Spring:

  1. Spring Data PageRequest
  2. Spring Data Pageable

分页请求-PageRequest

名称备注
pageZero-based page index (0..N)
sizeSize of the page to be returned
offSetinfinite scroll load this is the last offset if any key specific
sortSorting criteria in the format: property,(asc or desc). Default sort order is ascending. Multiple sort criteria are supported.

分页数据集-Pageable

名称备注
pageIndex当前页码
pageSize本页对象数量
totalPage总数
totalPage总页数
data对象列表

返回体

返回对象-Result

名称备注
code返回码,非零失败,零成功
message返回提示信息
payload信息载体 (泛类型对象 T)
errors错误列表 Error

Error

Hope 通用错误定义:

名称备注例子
code错误代码100002401
title错误标题USER_NAME_EMPTY
description错误描述user name should not be empty
description2错误描述2用户名不可以为空
pathfield pathuser.name
fieldfield namename
rejectedValue被拒绝值(原值)jake
constraint约束NOT_NULL
tips提示价格必须是正数如:1000.12
phase阶段CONTROLLER
severity严重程度ERROR
domaindomainaccount
properties扩展字段(Map)-
httpStatushttp状态BAD_REQUEST

Phase

名称备注说明
CONTROLLERController表单层
SERVICEService服务层
DOMAINDomain领域层

Severity

名称备注说明
LOWLow低,无影响
WARNWarn警告,业务错误可重试
ERRORError错误,业务无法进行
FATALFatal灾难,数据破坏

HttpStatus

包含标准的 Http 状态码, 不一一枚举,比如 BAD_REQUEST(400), FORBIDDEN(403);

it-common-mock

mock 实在在没有编写一行代码的情况下可以测试接口的数据格式;有单独 mock 的介绍说明;

To be done 🏗️