参考:Springboot整合Swagger文档
    image.png

    然后配置Swagger网页的显示信息即可

    1. package com.example.demo2.springbootmybatis.config;
    2. import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
    3. import org.springframework.context.annotation.Bean;
    4. import org.springframework.context.annotation.Configuration;
    5. import springfox.documentation.builders.ApiInfoBuilder;
    6. import springfox.documentation.builders.PathSelectors;
    7. import springfox.documentation.builders.RequestHandlerSelectors;
    8. import springfox.documentation.service.ApiInfo;
    9. import springfox.documentation.service.Contact;
    10. import springfox.documentation.spi.DocumentationType;
    11. import springfox.documentation.spring.web.plugins.Docket;
    12. import springfox.documentation.swagger2.annotations.EnableSwagger2;
    13. @Configuration
    14. @EnableSwagger2
    15. @EnableSwaggerBootstrapUI
    16. public class SwaggerConfig {
    17. Boolean swaggerEnabled = true;
    18. @Bean
    19. public Docket createRestApi() {
    20. //http://ip地址:端口/项目名/swagger-ui.html#/
    21. ApiInfo apiInfo = new ApiInfoBuilder()
    22. //网站标题
    23. .title("SpringBoot-Mybatis and JPA")
    24. //网站描述
    25. .description("Swagger for SpringBoot")
    26. //版本
    27. .version("1.0")
    28. //联系人
    29. .contact(new Contact("yxr","https://yuque.iloveyxr.top","54535282@qq.com"))
    30. .build();
    31. //swagger版本
    32. return new Docket(DocumentationType.SWAGGER_2)
    33. .pathMapping("/")
    34. .select()
    35. //扫描那些controller
    36. .apis(RequestHandlerSelectors.basePackage("com.example.demo2.springbootmybatis.controller"))
    37. .paths(PathSelectors.any())
    38. .build()
    39. .apiInfo(apiInfo);
    40. }
    41. }

    然后访问本机的http://localhost:8080/swagger-ui.html
    image.png

    swagger会自动扫描我们配置的路径下的所有controller,并根据我们的方法名称或变量名称配置默认的名称

    我们也可以利用注解配置自己的名称

    1. 在Controller之前使用@Api注解,配置我们的分类信息,比如这样
      image.png
      对应的页面就是
      image.png
    2. 配置每个方法的信息
      在Controller下的每个方法前面都使用 @ApiOperation来进行配置
    属性 作用
    value image.png
    notes
    1. 配置参数的信息
      在参数前面添加 @ApiParam 注解来配置参数的信息
      1. @ApiOperation(value = "根据id获取管理员的信息",notes = "只能获取到一位管理员的信息")
      2. @GetMapping("/{id}")
      3. public Result<Object> getOne(@PathVariable @ApiParam(required = true,value = "管理员id",name = "id") Integer id){
      4. Admin adminData = adminService.getOne(id);
      5. return new Result<>(5000,"success","ok",adminData);
      6. }
      | 属性 | 作用 | | —- | —- | | required | 表明参数是否是必须参数 | | value | 参数的描述信息 | | name | 参数的名称 |


    image.png

    swagger会自动扫描我们的参数获取方式,然后对应的显示不同的内容
    比如,如果我们设置的是RequestBody
    那么swagger里面显示的内容就是
    image.png

    而如果设置的是@PathVariable
    那么显示的内容就会是这样
    image.png