springboot integra swagger2 e lombok

Etapa 1: crie um projeto maven

Em seguida, introduza os jars necessários em nosso projeto:

<dependencies> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
        <groupId>org.springframework.boot</groupId > 
        <artifactId>spring-boot-starter-test</artifactId> 
        <scope>test</scope> 
    </dependency> 
    <!-- tomcat的支持. --> 
    <dependência> 
        <groupId>org.apache.tomcat. 
        <optional>true</optional> <!-- 这个需要为 true 热部署才有效 --> 
    </dependency> 
    <!-- mybatis --> 
    <dependency> 
        <groupId>org.mybatis.spring.boot</groupId> 
        <artifactId>mybatis-spring-boot-starter</artifactId> 
        <version>1.1.1</version> 
    </dependency> 
    <dependency> 
        <groupId>mysql< /groupId> 
        <artifactId>mysql-connector-java</artifactId> 
    </dependency> 
    <!-- swagger2 --> 
    <dependency> 
        <groupId>io.springfox</groupId> 
        <artifactId>springfox-swagger2</artifactId> 
        <versão>2.7.0</versão>
    </dependency>  
    <dependency> 
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId> 
        <version>2.7.0</version> 
    </dependency> 
    <!-- lombok --> 
    <dependency> 
        <groupId>org.projectlombok</groupId > 
        <artifactId>lombok</artifactId> 
    </dependency> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-autoconfigure</artifactId> 
        <versão>1.5.8.RELEASE</ versão> 
    </dependency> 
</dependencies>

Precisamos adicionar o plugin lombok à nossa ideia:

Configurações-> plugins Procure por lombok e instale-o diretamente após encontrá-lo

Ok, vamos direto ao código:

Classe de inicialização do springboot:

pacote com.swa; 


importar org.mybatis.spring.annotation.MapperScan; 
importar org.springframework.boot.SpringApplication; 
importar org.springframework.boot.autoconfigure.SpringBootApplication; 
importar org.springframework.context.annotation.ComponentScan; 
importar org.springframework.context.annotation.Configuration; 
importar springfox.documentation.swagger2.annotations.EnableSwagger2; 

@SpringBootApplication 
@MapperScan(basePackages="com.sw.mapper") 
@ComponentScan(basePackages={"com.swa.*"}) 
@EnableSwagger2 
@Configuration 
public class App { 
    public static void main(String[] args) { 
        SpringApplication .run(App.class, argumentos); 
    } 
}

classe de configuração swagger:

pacote com.swa; 

importar springfox.documentation.service.Contact; 
importar org.springframework.context.annotation.Bean; 
importar org.springframework.context.annotation.Configuration; 
importar springfox.documentation.builders.ApiInfoBuilder; 
importar springfox.documentation.builders.PathSelectors; 
importar springfox.documentation.builders.RequestHandlerSelectors; 
importar springfox.documentation.service.ApiInfo; 
importar springfox.documentation.spi.DocumentationType; 
importar springfox.documentation.spring.web.plugins.Docket; 

@Configuration 
public class SwaggerConfig { 
    @Bean 
    public Docket docket(){ 
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) 
                .select()// Pacote atual 
                path.apis(RequestHandlerSelectors.basePackage("com.swa.controller")) 
                .paths(PathSelectors.any()). build(); 
    } 
    //Construa a função de informações detalhadas do documento da API 
    private ApiInfo apiInfo(){ 
        return new ApiInfoBuilder() //Título da página.title 
                ("springBoot test usa Swagger2 para construir API RESTful") 
                //Creator.contact (new Contact("chendai","http://www.baidu.com","")) //Número da versão.versão 
                ("1.0") //Descrição 
                .description("Descrição da API") 
                .build();
    } 
} 
Controlador para teste:
pacote com.swa.controller; 

importar com.swa.model.StuInfo; 
importar com.swa.service.StuService; 
importar io.swagger.annotations.Api; 
importar io.swagger.annotations.ApiOperation; 
importar lombok.extern.slf4j.Slf4j; 
importar org.springframework.beans.factory.annotation.Autowired; 
importar org.springframework.web.bind.annotation.GetMapping; 
importar org.springframework.web.bind.annotation.RequestMapping; 
importar org.springframework.web.bind.annotation.RestController; 

@Api(value = "/homework", description = "学生作业接口", tags = "TestController") 
@Slf4j 
@RequestMapping(value = "/homework",
 
    private StuService stuService; 
    
    @ApiOperation(value = "Obter informações básicas do aluno", notas = "Obter informações básicas do aluno") 
    @GetMapping("/getStuInfo") 
    public StuInfo getStuInfo() { 
        StuInfo stuInfo = new StuInfo(); 
        stuInfo .setStuId(1000L); 
        stuInfo.setStuName("Brady"); 
        return stuInfo; 
    } 
}

classe de modelo:

pacote com.swa.model; 

importar io.swagger.annotations.ApiModel; 
importar lombok.Data; 

@ApiModel 
@Data 
public class StuInfo { 

    private Long stuId; 

    private String nomeNome; 
}

Ok, pronto, acesso direto:

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

Este endereço é fixo, lembre-se dele

Quanto às demais configurações de dados de conexão, não entrarei em detalhes aqui, caso não saiba, consulte o blog do springboot que escrevi antes.

Se você tiver alguma dúvida, pode comentar abaixo e progredir juntos.

 

 

Acho que você gosta

Origin blog.csdn.net/Brady74/article/details/82960028
Recomendado
Clasificación