谷粒学院(六)--讲师管理模块及Swagger配置

接下来我们就开始进入正文了,开始进行项目的功能开发,这里项目模块为上文创建的项目结构中的service-edu模块,项目结构创建过程可以参考https://blog.csdn.net/qq_44762290/article/details/107441065

  1. 资源文件的配置application.properties或application.yml
#服务端口
server.port=8001
#服务名
spring.application.name=service-edu
#环境设置:dev,test,port
spring.profiles.active=dev
#数据库配置连接
#数据库驱动配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库地址配置
spring.datasource.url=jdbc:///guli?serverTimezone=GMT%2B8
#用户配置
spring.datasource.username=root
spring.datasource.password=ffy106
#mybatics日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
  1. 开发controller,service,mapper代码内容

    这里我们可以使用mybatis-plug提供的代码生成器,生成相关代码,代码生成器就是一个工具

在test/java目录下创建包com.atguigu.eduservice,创建代码生成器:CodeGenerator.java

图片

这里有代码生成器的代码文件,代码是mybatis-plug提供的代码文件,我们只需要修改其中的一些配置即可,这里提供代码文件如下。

CodeGenerator.java

然后运行该程序,运行前要修改文件中的路径:修改成自己的文件路径,这里是代码生成器生成的位置图片图片

  • 修改自己的数据库密码

图片

  • 生成后的目录结构应该是

图片

  1. 教师信息显示

首先利用代码生成器后,会生成一定的文件,这时我们在controller包下的EduTeacherController.java文件

我们添加两个注解

@RestController
@RequestMapping("/eduservice/teacher")

图片

  • 注入service
@Autowired
private EduTeacherService teacherService;

图片

  • 然后我们添加方法
 @ApiOperation(value = "所有讲师列表")
    @GetMapping("findAll")
    public List<EduTeacher> findAllTeacher() {
        //调用service的方法实现查询所有的操作
        List<EduTeacher> list = teacherService.list(null);
//        return R.ok().data("items",list);
        return list;
    }

图片

  • 然后我们添加启动类EduApplication.java
@SpringBootApplication
@ComponentScan(basePackages = {"com.atguigu"})
public class EduApplication {
    public static void main(String[] args) {
        SpringApplication.run(EduApplication.class, args);
    }
}

图片

就可以显示数据库中的数据。

图片

4.讲师逻辑删除功能

  • EduTeacherController添加删除方法
@DeleteMapping("{id}")
public boolean removeById(@PathVariable String id){
return teacherService.removeById(id);}
  • 配置逻辑删除插件
MyBatisPlusConfig中配置
@Bean
public ISqlInjector sqlInjector() {
      return new LogicSqlInjector();}
  • 测试,对于删除以及后期的其他测试使用的是Swagger方法测试
  1. Swagger2
  • 简介

前后端分离开发模式中,api文档是最好的沟通方式

Swagger2是一个规范和完整的框架,用于生成、描述、调用和可视化RESTFUL风格的web服务

  1. 及时性(接口变更后,能够及时准确地通知相关后端开发人员)
  2. 规范性(并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息
  3. 一致性(接口信息一致,不会出现因开发人员拿到的文档版本不一样,而出现分歧
  4. 可测性(直接在接口文档上进行测试,以方便理解业务
  5. 配置swagger2
  • 创建common模块,在guli-parent下创建模块common

图片

  • 在common中引入相关依赖
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <scope>provided </scope>
    </dependency>
    <!--mybatis-plus-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <scope>provided </scope>
    </dependency>
    <!--lombok用来简化实体类:需要安装lombok插件-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided </scope>
    </dependency>
    <!--swagger-->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <scope>provided </scope>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <scope>provided </scope>
    </dependency>
    <!-- redis -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <!-- spring2.X集成redis所需common-pool2
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.6.0</version>
    </dependency>-->
</dependencies>
  • 在common下面创建子模块service-base,创建后的结构为

图片

SwaggerConfig.java

猜你喜欢

转载自blog.csdn.net/qq_44762290/article/details/107541280