Aprendizagem arrogante
-
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
-
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.htmlO 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
- Use @ApiModel ("nome da classe de entidade")
- O método RestController retorna uma classe de entidade
- Usar @Api é equivalente a @ApiModel
- Anotação do método @ApiOperation
-
Resumindo
- Ele pode adicionar informações de anotação a propriedades e interfaces que são mais difíceis de entender.
- Atualização em tempo real da documentação da interface
- Pode ser testado online
Feche o documento swagger ao publicar para reduzir a memória em execução e garantir a segurança.