1、用mybatis-plus自动生成实体类

遇到的问题:log4j版本不兼容,最终通过百度解决

2、VO、DTO、PO

Daily-01 - 图1
分别对应不同的时候使用
当参数相同时,这些实体类可以复用
由于服务中公共处理实体类和业务处理实体类的使用场景不一致,因此公共业务实体类应放置在公共层,具体业务则放置在具体业务下即可。

3、接口设计

1、协议

  • 通常协议采用HTTP,查询接口通常为get或post,查询条件用的少的使用get, 较多使用post。
  • 还需要确定content-Type,参数以什么数据格式提交,结果以什么数据格式返回。
  • 一般使用 json 格式响应。

    2、分析请求参数

  • 请求参数:课程名称,课程审核状态,当前页码,每页显示记录数。

  • 定义模型类

    3、分析响应结果

  • 总记录数,当前页,每页显示数

  • 课程基本信息

    4、分析完成,使用Spring-boot注解开发一个接口

    5、使用接口文档工具查看接口的内容

    6、接口调用Service方法完成业务处理

    1. POST /content/course/list?pageNo=2&pageSize=1 #协议,页码,页尺寸固定参数
    2. Content-Type: application/json //选择congtent-typeapplication/json
    3. {//可变参数用json传输
    4. "auditStatus": "202002",
    5. "courseName": ""
    6. }
    7. ###成功响应结果
    8. {
    9. "items": [
    10. {
    11. "id": 26,
    12. "companyId": 1232141425,
    13. "companyName": null,
    14. "name": "spring cloud实战",
    15. "users": "所有人",
    16. "tags": null,
    17. "mt": "1-3",
    18. "mtName": null,
    19. "st": "1-3-2",
    20. 2.2.3 课程查询接口定义
    21. 2.2.3.1 定义请求模型类
    22. 对于查询条件较多的接口定义单独的模型类接收参数。
    23. 由于分页查询这一类的接口在项目较多,这里针对分页查询的参数(当前页码、每页显示记录数)单独
    24. xuecheng-plus-base基础工程中定义。
    25. 内容如下:
    26. "stName": null,
    27. "grade": "200003",
    28. "teachmode": "201001",
    29. "description": "本课程主要从四个章节进行讲解: 1.微服务架构入门 2.spring cloud
    30. 础入门 3.实战Spring Boot 4.注册中心eureka",
    31. "pic": "https://cdn.educba.com/academy/wp-content/uploads/2018/08/SpringBOOT-Interview-questions.jpg",
    32. "createDate": "2019-09-04 09:56:19",
    33. "changeDate": "2021-12-26 22:10:38",
    34. "createPeople": null,
    35. "changePeople": null,
    36. "auditStatus": "202002",
    37. "auditMind": null,
    38. "auditNums": 0,
    39. "auditDate": null,
    40. "auditPeople": null,
    41. "status": 1,
    42. "coursePubId": null,
    43. "coursePubDate": null
    44. }
    45. ],
    46. "counts": 23,
    47. "page": 2,
    48. "pageSize": 1
    49. }

    4、定义模型类

    image.png

5、编写Controller

image.png

content-api下

:::tips RestController :::

3、分析响应结果

3、算法

有两种双指针:

  • 同向双指针
  • 对向双指针

同向一般解决链表问题,对向一般解决数组问题

(i&1)==0 通过位运算判断是否奇偶

对于题目中如果存在有序,递增等提示,则应利用这些提示来降低复杂度。