springboot整合Swaggere3
-
Swagger简介
-
RestFul Api 文档在线自动生成工具=》Api文档与Api定义同步跟新
-
可以在线测试Api接口
-
支持多种语言
-
Swagger是一个功能强大且易于使用的API开发人员工具套件,适用于团队和个人,可在整个API生命周期(从设计和文档到测试和部署)中进行开发。
Swagger由开放源代码,免费工具和市售工具共同构成,它使任何人(从技术工程师到街头智能产品经理)都可以构建每个人都喜欢的惊人API。
-
-
SpringBoot集成Swagger
-
导入所需要的jar
dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
-
自启动类添加注解
@SpringBootApplication //开启Swagger @EnableOpenApi public class SpringbootswaggerApplication { public static void main(String[] args) { SpringApplication.run(SpringbootswaggerApplication.class, args); } }
-
Swagger3Config的配置
@Configuration public class SwaggerConfig { //作者信息 public static final Contact DEFAULT_CONTACT = new Contact( "dbh", "", "1625397016@qq.com"); @Bean public Docket docket(){ return new Docket(DocumentationType.OAS_30) .apiInfo(apiInfo()) .select() //配置需要扫描的接口 // RequestHandlerSelectors.any()扫描全部 //RequestHandlerSelectors.none()不扫描 //RequestHandlerSelectors.withClassAnnotation()扫描类上面的注解 //RequestHandlerSelectors.withMethodAnnotation()方法上的注解 .apis(RequestHandlerSelectors.basePackage("com.dbh.springbootswagger.controller")) //过滤什么路径 // PathSelectors.none()不过滤 //PathSelectors.any()过滤全部 .paths(PathSelectors.any()) . build(); } //配置swagger的信息 private ApiInfo apiInfo(){ return new ApiInfo( "Swager接口日记", "在小的帆也能远航", "1.0", "urn:tos", DEFAULT_CONTACT, "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList<>()); } //配置分组 @Bean public Docket docket1(){ return new Docket(DocumentationType.OAS_30).groupName("A"); } @Bean public Docket docket2(){ return new Docket(DocumentationType.OAS_30).groupName("B"); } }
-
Swagger注解的使用说明
controller配置
@RestController public class HelloController { //方法描述 @ApiOperation("Hello控制器") @RequestMapping("/hello") //@ApiParam 属性描述 public User hello(@ApiParam("用户名") String Username){ return new User(); } }
实体类配置
@ApiModel("用户实体类") //类描述 public class User { //字段描述 @ApiModelProperty(value = "id",dataType="String",name="username") private int id; @ApiModelProperty(value = "用户名",dataType="String",name="password") private String name; @ApiModelProperty(value = "密码",dataType="String",name="password") private String pwd; }
-
访问 http://localhost:8080/swagger-ui/index.html,就可以查看效果了
注意:我这个是3.0版本的,如果版本不同那存在的路径不同,你可以通过查看springfox-swagger-ui这个jar查看路径,如图
-