§ API规范
§ URL命名
url主体部分,字母使用小写,统一使用/api打头,参数部分用驼峰表示
如:/api/adminsmuser?custType=01
§ 资源操作类型
为了兼容HTTP1.0协议,目前使用GET、POST两种请求方式
| HTTP方法 | URL | 调用方法 | 备注 |
|---|---|---|---|
| GET | /api/xxx/ | index | 列表查询 |
| GET | /api/xxx/{id} | show | 详情查询 |
| POST | /api/xxx/ | create | 新增 |
| POST | /api/xxx/delete/{id} | delete | 删除 |
| POST | /api/xxx/update | update | 修改 |
| POST | /api/xxx/upcusttype | updateCustType | 自定义例子,客户类型修改 |
查询请求,使用GET方法;(注意:涉及用户相关信息,统一使用post请求)
数据修改,使用POST方法提交
§ 成功响应
接口映射实体:cn.com.yusys.yusp.commons.web.rest.dto.ResultDto
<T>名称 JSON KEY 类型 长度 必填 说明 结果代码 code Int Y 默认0 返回总条数 total Int 默认值0,分页时,分页条数 结果内容 message String Y 数据结构体 data <T>String Y API处理后,返回的数据内容 § 失败响应
· 接口映射实体: cn.com.yusys.yusp.commons.web.rest.dto.ErrorDto
| 名称 | JSON KEY | 类型 | 长度 | 必填 | 说明 |
|---|---|---|---|---|---|
| 信息代码 | code | Int | Y | 数据配置 | |
| 结果内容 | message | String | Y | 数据配置[t1] | |
| 信息 | level | String | Y | Success 成功 | |
| Info 提示 | |||||
| Warning 警告 | |||||
| Error 错误 |
§ API有效性校验
其次,实体类字段增加校验规则配置:
public class User extends AbstractAuditingEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
private Long id;
@NotNull
@Pattern(regexp = Constants.LOGIN_REGEX)
@Size(min = 1, max = 50)
@Column(length = 50, unique = true, nullable = false)
private String login;
@JsonIgnore #忽略序列化
@NotNull
@Size(min = 60, max = 60)
@Column(name = "password_hash",length = 60)
private String password;
@Size(max = 50)
@Column(name = "first_name", length = 50)
private String firstName;
@Size(max = 50)
@Column(name = "last_name", length = 50)
private String lastName;
@Email
@Size(min = 5, max = 100)
@Column(length = 100, unique = true)
private String email;
@NotNull
@Column(nullable = false)
private boolean activated = false;
@Size(max = 20)
@Column(name = "reset_key", length = 20)
@JsonIgnore
private String resetKey;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
首先,在实体映射时, 启用有效性校验配置@Valid
public ResponseEntity<T> createEntity(@Valid @RequestBody T entity) {
}
1
2
2
[t1]通过cn.com.yusys.yusp.admin.service.util.MessageProvider.getMessage(String code)获取