房间支付方式管理
开始第一部分——房间支付方式管理的开发学习
开发前准备
- 有无接口文档
- 有接口文档。拿到接口文档后,要和领导沟通好,对接人是谁(提前说好有问题找谁)
- 无接口文档。进一步询问细节,不要自己去做
开发步骤
1. 找到对应的数据库
payment_type 表

2. 设计接口
接口1:查询全部支付方式列表
1 | // 注入service |
- 使用knife4j进行测试
浏览器访问 http://localhost:8080/doc.html#/全部接口/支付方式管理/listPaymentType

附上knife4j配置文件之后学习
1 |
|
- Knife4j 页面里会根据 Controller 或
@Tag自动拆成很多模块
接口2:添加支付方式
1 | // 根据id查询支付类型 |
接口3:保存或更新支付方式
1 | // 保存或更新支付方式 |
@RequestBody PaymentType paymentType 和 PaymentType paymentType的区别:
@RequestBody PaymentType paymentType: 以json格式传入,不能为get请求方式(get无请求体)
PaymentType paymentType: 以拼接参数形式传入 ?name=11&payMonthCount=11
接口4:删除支付方式
1 | // 根据id删除支付方式 |
在PaymentType实体类中,找到逻辑删除属性,添加
@TableLogic注解使用逻辑删除1
2
3
4
5
6
7
8
9
public class BaseEntity implements Serializable {
...
private Byte isDeleted;
}
3. 测试接口
保存支付方式
- 可以将数据表中
update_time和create_time设置为CURRENT_TIMESTAMP

- 测试结果:create_time和update_time成功设置为当前时间


根据id删除支付方式

- 删除后结果:id为10的支付方式的逻辑删除参数被设置为1
更新支付方式

- 更新后结果:Id为12的支付方式的name被更新

查询全部支付方式
- 可以查询到所有未被删除的支付方式

统一返回结果
前后端分离项目中,统一接口返回数据格式,让前端不用适配各种五花八门的返回结构,所有接口都返回相同模板,前端统一解析。
- 创建统一返回结果类Result
- 向统一返回结果类设置返回数据
1 | // 查询所有支付类型 |
Result类如下:
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
44
45
46
47
48
49
50package com.atguigu.lease.common.result;
import lombok.Data;
/**
* 全局统一返回结果类
*/
public class Result<T> {
//返回码
private Integer code;
//返回消息
private String message;
//返回数据
private T data;
public Result() {
}
private static <T> Result<T> build(T data) {
Result<T> result = new Result<>();
if (data != null)
result.setData(data);
return result;
}
public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {
Result<T> result = build(body);
result.setCode(resultCodeEnum.getCode());
result.setMessage(resultCodeEnum.getMessage());
return result;
}
public static <T> Result<T> ok(T data) {
return build(data, ResultCodeEnum.SUCCESS);
}
public static <T> Result<T> ok() {
return Result.ok(null);
}
public static <T> Result<T> fail() {
return build(null, ResultCodeEnum.FAIL);
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 𝐺ℎ𝑎𝑜 の 𝐵𝑙𝑜𝑔!
评论

