SpringBootSwagger3.0配置1、导⼊Maven依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
2、配置l
swagger:
enable: true
application-name: xxx系统API说明
application-version: 1.0
application-description: springfox swagger 3.0整合Demo
try-host: localhost:${server.port}
3、添加实体类接收swagger配置信息
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.t.properties.ConfigurationProperties;
spring怎么读取propertiesimport org.springframework.stereotype.Component;
@Component
@ConfigurationProperties("swagger")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SwaggerProperties {
/**
* 是否开启swagger,⽣产环境⼀般关闭,所以这⾥定义⼀个变量
*/
private Boolean enable;
/**
* 项⽬应⽤名
*/
private String applicationName;
/
**
* 项⽬版本信息
*/
private String applicationVersion;
/**
* 项⽬描述信息
*/
private String applicationDescription;
/**
* 接⼝调试地址
*/
private String tryHost;
}
4、Swagger配置类设置
@Configuration
public class SwaggerConfig implements WebMvcConfigurer {
private final SwaggerProperties swaggerProperties;
public SwaggerConfig(SwaggerProperties swaggerProperties) {
this.swaggerProperties = swaggerProperties;
}
//可以创建多个Docket对象,添加进@Bean中并使⽤ .groupName("张*") 添加多个分组,前提是名称不要重复
@Bean
public Docket createRestApi() {
return new Docket(
DocumentationType.OAS_30)
.pathMapping("/")
.groupName("张*")
// 定义是否开启swagger,false为关闭,可以通过变量控制
.Enable())
// 将api的元信息设置为包含在json ResourceListing响应中。
.apiInfo(apiInfo())
// 接⼝调试地址
.TryHost())
/
/ 选择哪些接⼝作为swagger的doc发布
.select()
//RequestHandlerSelectors 配置要扫描接⼝的⽅式
//RequestHandlerSelectors.basePackage("") //指定要扫描的包
//any() 扫描全部
//none() 都不扫描
//.withClassAnnotation(RestController.class) 扫描类上的注解,⽐如这个只会扫描类上有RestController注解的类
//.withMethodAnnotation(GetMapping.class) 扫描⽅法上的注解
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
// ⽀持的通讯协议集合
.protocols(newHashSet("https", "http"));
}
/**
* API 页⾯上半部分展⽰信息
* 可以new ApiInfo对象,到ApiInfo⾥⾯去看源码
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder().ApplicationName() + " Api Doc")
.ApplicationDescription())
.contact(new Contact("zhang", "com.z", "1348359420@qq"))
.
version("Application Version: " + ApplicationVersion() + ", Spring Boot Version: " + Version()) .build();
}
@SafeVarargs
private final <T> Set<T> ts) {
if (ts.length > 0) {
return new LinkedHashSet<>(Arrays.asList(ts));
}
return null;
}
}
5、访问API地址
localhost:8080/swagger-ui/
springfox-swagger-ui-3.0.0.jar 下 sources.webjars.springfox-swagger-ui
6、实体类注解说明
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("⽤户实体类")
public class User {
@ApiModelProperty("主键")
private int id;
@ApiModelProperty("登录账号")
private String login;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("⾓⾊权限")
private String role;
}
7、Controller注解说明
//⽅法说明注解 @ApiOperation
@ApiOperation("获取全部⽤户")
@RequestMapping("user/getAll")
@ResponseBody
public List<User> getAll(){
return userService.selectAll(); }
8、更多操作参考CSDN
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论