zoukankan      html  css  js  c++  java
  • 在线教育项目-day02【后台讲师管理模块】

    1. 查询功能

    先把controller代码拿出来

    @RestController
    @RequestMapping("/eduservice/edu-teacher")
    public class EduTeacherController {
        @Autowired
        private EduTeacherService eduTeacherService;
    
       //1.查询所有数据
        @GetMapping("findAll")
        public List<EduTeacher> findAll(){
            List<EduTeacher> list = eduTeacherService.list(null);
            return list;
        }
    
    }

    统一返回的json时间格式

    默认情况下json时间格式带有时区,并且是世界标准时间,和我们的时间差了八个小时
    在application.properties中设置
    #返回json的全局时间格式
    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
    spring.jackson.time-zone=GMT+8

    截图:

    2.删除功能

    1. 先在配置文件中加入逻辑删除插件

     /**
         * 逻辑删除插件
         */
        @Bean
        public ISqlInjector sqlInjector() {
            return new LogicSqlInjector();
        }

    2. 在isDeleted的字段上加上注解@TableLogic

    3.在controller添加方法

        //2.根据id删除数据
        @DeleteMapping("{id}")
        public boolean removeById(@PathVariable String id){
            return eduTeacherService.removeById(id);
        }

    3.了解Swagger

    Swagger2介绍

    前后端分离开发模式中,api文档是最好的沟通方式。
    Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
      1. 及时性 (接口变更后,能够及时准确地通知相关前后端开发人员)
      2. 规范性 (并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息)
      3. 一致性 (接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧)
      4. 可测性 (直接在接口文档上进行测试,以方便理解业务)

    创建公共模块,整合Swagger

    具体使用

    1.创建如图的结构

     2.创建swaggerconfig

    @Configuration//配置类
    @EnableSwagger2//swagger注解
    public class SwaggerConfig {
        @Bean
        public Docket webApiConfig(){
    
            return new Docket(DocumentationType.SWAGGER_2)
                    .groupName("webApi")
                    .apiInfo(webApiInfo())
                    .select()
                    .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                    .paths(Predicates.not(PathSelectors.regex("/error.*")))
                    .build();
    
        }
    
        private ApiInfo webApiInfo(){
    
            return new ApiInfoBuilder()
                    .title("网站-课程中心API文档")
                    .description("本文档描述了课程中心微服务接口定义")
                    .version("1.0")
                    .contact(new Contact("Helen", "http://atguigu.com", "55317332@qq.com"))
                    .build();
        }
    }

    3.在service_edu中添加依赖

    <dependency>
                <groupId>com.dm</groupId>
                <artifactId>service-base</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>

    4.最后在service_edu启动类添加注解,设置包扫描规则

     5.测试在浏览器中输入:

    http://localhost:8001/swagger-ui.html

    页面如下:

     

     

     此时我们看看数据库中的内容

    我们输入1,然后点击try it out 

     200表示成功

    我们此时再来看一下数据库

     会发现isDeleted已经是1了。

    接下来可以加注解,让swagger页面可以有提示信息

    定义在类上:@Api
    定义在方法上:@ApiOperation
    定义在参数上:@ApiParam
    @Api(description="讲师管理")
    @RestController
    @RequestMapping("/admin/edu/teacher")
    public class TeacherAdminController {
    
        @Autowired
        private TeacherService teacherService;
    
        @ApiOperation(value = "所有讲师列表")
        @GetMapping
        public List<Teacher> list(){
            return teacherService.list(null);
        }
    
        @ApiOperation(value = "根据ID删除讲师")
        @DeleteMapping("{id}")
        public boolean removeById(
                @ApiParam(name = "id", value = "讲师ID", required = true)
                @PathVariable String id){
            return teacherService.removeById(id);
        }
    }

    此时就会看到一个有好的提示了

  • 相关阅读:
    Linux IO接口 监控 (iostat)
    linux 防火墙 命令
    _CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误
    Visual Studio自动关闭
    Linux vsftpd 安装 配置
    linux 挂载外部存储设备 (mount)
    myeclipse 9.0 激活 for win7 redhat mac 亲测
    英文操作系统 Myeclipse Console 乱码问题
    Linux 基本操作命令
    linux 查看系统相关 命令
  • 原文地址:https://www.cnblogs.com/dmzna/p/12791056.html
Copyright © 2011-2022 走看看