Notas de aprendizagem Swagger

Aprendizagem arrogante

  1. Introdução

    Swagger é uma estrutura padronizada e completa para gerar, descrever, invocar e visualizar serviços da Web RESTful.

    Site oficial: site oficial do swagger

  2. Uso de arrogância

    1. Importe o pacote jar: swagger2, ui / import dependency

    <dependencies>
                 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
                 <dependency>
                     <groupId>io.springfox</groupId>
                     <artifactId>springfox-swagger2</artifactId>
                     <version>3.0.0</version>
                 </dependency>
         
                 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
                 <dependency>
                     <groupId>io.springfox</groupId>
                     <artifactId>springfox-swagger-ui</artifactId>
                     <version>3.0.0</version>
                 </dependency>
    </dependencies>
    

    2. Abra a arrogância

    @Configuration
    @EnableSwagger2 //开启swagger2
    public class SwaggerConfig {
          
          
       
    }
    

    swagger version2 直接 访问swagger-ui
    http: // localhost: 8080 / swagger-ui.html

    O swagger versão 3.0 precisa ser adicionado e acessado swagger-ui
    http: // localhost: 8080 / swagger-ui / index.html

         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-boot-starter</artifactId>
             <version>3.0.0</version>
         </dependency>
    

    3. Configure as informações de swagger

        //配置swagger的bean实例
        @Bean
        public Docket docket(){
          
          
            return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
        }
    
        //apiInfo信息
        public ApiInfo apiInfo(){
          
          
            Contact contact = new Contact("", "", "");
            return new ApiInfo("Api Documentation", "Api Documentation", 
                    "1.0", 
                    "urn:tos",
                    contact,
                    "Apache 2.0",
                    "http://www.apache.org/licenses/LICENSE-2.0",
                    new ArrayList());
        }
    

    4. Configure a interface de varredura swagger

    Função de cadeia usando o método select () de Docket

    Adicione o método select () ao bean Docket da seguinte maneira:

        //配置swagger的bean实例
        @Bean
        public Docket docket(){
          
          
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
        //        RequestHandlerSelectors:配置要扫描的方式 
        //        1.basePackage():扫描指定包
        //        2.any():扫描全部
        //        3.none():不扫描
        //        4.withMethodAnnotation():扫描方法上的注解
        //        5.withClassAnnotation():扫描类上的注解
                    .apis(RequestHandlerSelectors.basePackage("com.li.swaggerstudy.controller")).
        //过滤路径--正则表达式
                    .paths(PathSelectors.ant(""))
                    .build();
        }
    
            //获取项目环境
            Profiles profiles = Profiles.of("dev");
            boolean flag = environment.acceptsProfiles(profiles);
            
    

    5. agrupamento de configuração swagger, vários grupos usam vários Dockets

                    .groupName("li")
    

    6. Swagger verifica as classes de entidade

    1. Use @ApiModel ("nome da classe de entidade")
    2. O método RestController retorna uma classe de entidade
    3. Usar @Api é equivalente a @ApiModel
    4. Anotação do método @ApiOperation
  3. Resumindo

    1. Ele pode adicionar informações de anotação a propriedades e interfaces que são mais difíceis de entender.
    2. Atualização em tempo real da documentação da interface
    3. Pode ser testado online

    Feche o documento swagger ao publicar para reduzir a memória em execução e garantir a segurança.

Acho que você gosta

Origin blog.csdn.net/weixin_47490310/article/details/113037376
Recomendado
Clasificación