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);
        }
    }

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

  • 相关阅读:
    6、UITableView表的分割线左对齐
    5、清理mac缓存和关闭后台运行程序
    1、iOS9 HTTP 不能正常使用的解决办法
    在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”
    java中的String类
    java思考题
    java思考
    java动手动脑思考
    大道至简第二章读后感
    JAVA训练参数求和
  • 原文地址:https://www.cnblogs.com/dmzna/p/12791056.html
Copyright © 2011-2022 走看看