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.