第一步:创建一个maven项目
然后把所需jar引入到我们的项目:
<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的支持. --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <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> <version>2.7.0</version> </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> <version>1.5.8.RELEASE</version> </dependency> </dependencies>
我们需要在我们的idea中添加lombok插件:
settings->plugins 搜索lombok,搜到后直接安装就好
好了,直接上代码:
springboot启动类:
package com.swa; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import 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, args); } }
swagger配置类:
package com.swa; import springfox.documentation.service.Contact; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; @Configuration public class SwaggerConfig { @Bean public Docket docket(){ return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) .select()// 当前包路径 .apis(RequestHandlerSelectors.basePackage("com.swa.controller")) .paths(PathSelectors.any()).build(); } //构建api文档的详细信息函数 private ApiInfo apiInfo(){ return new ApiInfoBuilder() //页面标题 .title("springBoot测试使用Swagger2构建RESTful API") //创建人 .contact(new Contact("chendai","http://www.baidu.com","")) //版本号 .version("1.0") //描述 .description("API 描述") .build(); } } 测试用的controller:
package com.swa.controller; import com.swa.model.StuInfo; import com.swa.service.StuService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Api(value = "/homework", description = "学生作业接口", tags = "TestController") @Slf4j @RequestMapping(value = "/homework", produces = "application/json;charset=utf-8") @RestController public class TestController { @Autowired private StuService stuService; @ApiOperation(value = "获取学生基础信息", notes = "获取学生基础信息") @GetMapping("/getStuInfo") public StuInfo getStuInfo() { StuInfo stuInfo = new StuInfo(); stuInfo.setStuId(1000L); stuInfo.setStuName("Brady"); return stuInfo; } }
model类:
package com.swa.model; import io.swagger.annotations.ApiModel; import lombok.Data; @ApiModel @Data public class StuInfo { private Long stuId; private String stuName; }
好了,完成,直接访问:
http://localhost:8080/swagger-ui.html
这个地址是固定的,千万记住
至于连接数据其他的配置就不在这里赘述了,如果不知道,请查看我之前写的springboot的博客
如有疑问,可在下方评论,共同进步