swagger3 + knife4j实现优雅接口文档

swagger大家都不陌生,强大的接口文档工具,最近出了swaager3版本,马上尝鲜

knife4j功能强大,页面更美观,在线调试功能很喜欢,不用再在postman手动输链接调试了


全局参数添加header

支持离线文档下载


添加依赖 implementation"io.springfox:springfox-boot-starter:3.0.0   习惯用gradle

implementation"com.github.xiaoymin:knife4j-spring-boot-starter:3.0.1


新建配置文件SwaggerConfiguration

/**

* 基于Swagger生成API文档

*

* @author qiuw

* *@EnableOpenApi:启动OpenApi的类; 之前是@EnableSwagger2

*/

@Configuration

@EnableOpenApi

@EnableKnife4j

@Import(BeanValidatorPluginsConfiguration.class)

public class SwaggerConfiguration {

@Bean

    public DocketcreateRestApi() {

return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select()

.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))

.paths(PathSelectors.any())

.build();

    }

private ApiInfoapiInfo() {

return new ApiInfoBuilder()

.title("标题")

.description("描述")

.contact(new Contact("联系人", "www.xxx.com", "xxx@xxx.com"))

.version("1.0.0")

.build();

    }

}


就这么简单,然后就是接口文档编写和之前的一样


@Api  @ApiOperation  等等就不再说了


原生swaager页面访问 http://localhost:8080//swagger-ui/index.html  端口那些自己改

knife4j 访问 http://localhost:8080/doc.html


给knife4j设置权限

在yml或properties配置文件加配置

# 接口文档配置

knife4j:

enable:true  # 开启权限验证

  basic:

enable:true

    username: eas# 登录账号

    password: eas# 登录密码

就实现拦截了,官方文档这块还没更新,自己试出来的knife4j官网

推荐阅读更多精彩内容