1、用mybatis-plus自动生成实体类
遇到的问题:log4j版本不兼容,最终通过百度解决
2、VO、DTO、PO
分别对应不同的时候使用
当参数相同时,这些实体类可以复用
由于服务中公共处理实体类和业务处理实体类的使用场景不一致,因此公共业务实体类应放置在公共层,具体业务则放置在具体业务下即可。
3、接口设计
1、协议
- 通常协议采用HTTP,查询接口通常为get或post,查询条件用的少的使用get, 较多使用post。
- 还需要确定content-Type,参数以什么数据格式提交,结果以什么数据格式返回。
-
2、分析请求参数
请求参数:课程名称,课程审核状态,当前页码,每页显示记录数。
-
3、分析响应结果
总记录数,当前页,每页显示数
- 课程基本信息
4、分析完成,使用Spring-boot注解开发一个接口
5、使用接口文档工具查看接口的内容
6、接口调用Service方法完成业务处理
POST /content/course/list?pageNo=2&pageSize=1 #协议,页码,页尺寸固定参数
Content-Type: application/json //选择congtent-type:application/json
{//可变参数用json传输
"auditStatus": "202002",
"courseName": ""
}
###成功响应结果
{
"items": [
{
"id": 26,
"companyId": 1232141425,
"companyName": null,
"name": "spring cloud实战",
"users": "所有人",
"tags": null,
"mt": "1-3",
"mtName": null,
"st": "1-3-2",
2.2.3 课程查询接口定义
2.2.3.1 定义请求模型类
对于查询条件较多的接口定义单独的模型类接收参数。
由于分页查询这一类的接口在项目较多,这里针对分页查询的参数(当前页码、每页显示记录数)单独
在
xuecheng-plus-base基础工程中定义。
内容如下:
"stName": null,
"grade": "200003",
"teachmode": "201001",
"description": "本课程主要从四个章节进行讲解: 1.微服务架构入门 2.spring cloud 基
础入门 3.实战Spring Boot 4.注册中心eureka。",
"pic": "https://cdn.educba.com/academy/wp-content/uploads/2018/08/SpringBOOT-Interview-questions.jpg",
"createDate": "2019-09-04 09:56:19",
"changeDate": "2021-12-26 22:10:38",
"createPeople": null,
"changePeople": null,
"auditStatus": "202002",
"auditMind": null,
"auditNums": 0,
"auditDate": null,
"auditPeople": null,
"status": 1,
"coursePubId": null,
"coursePubDate": null
}
],
"counts": 23,
"page": 2,
"pageSize": 1
}
4、定义模型类
5、编写Controller
content-api下
3、分析响应结果
3、算法
有两种双指针:
- 同向双指针
- 对向双指针
同向一般解决链表问题,对向一般解决数组问题
(i&1)==0 通过位运算判断是否奇偶
对于题目中如果存在有序,递增等提示,则应利用这些提示来降低复杂度。