springboot怎么更新配置Swagger3

1.引入依赖,版本3.0.0只引入一个即可

<
dependency>

<
groupId>
io.springfox<
/groupId>

<
artifactId>
springfox-boot-starter<
/artifactId>

<
version>
3.0.0<
/version>

<
/dependency>

2. 配置类SwaggerConfig

package org.fh.config;


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.oas.annotations.EnableOpenApi;

import springfox.documentation.service.ApiInfo;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;


/**
* 说明:Swagger 接口API生成
* 作者:FH Admin
* from fhadmin.cn
*/
@Configuration
@EnableOpenApi
public class SwaggerConfig {

@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("
org.fh.controller"
)) // 为当前包路径
.paths(PathSelectors.any())
.build();

}

private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("
FH Admin Swagger3 RESTful API"
) // 页面标题
.version("
3.0"
) // 版本号
.description("
fhadmin.org"
) // 描述
.build();

}

}

3.Swagger 拦截配置

package org.fh.config;

Springboot升级到Swagger3,让接口文档更简单清晰明了




import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


/**
* 说明:Swagger 拦截配置
* 作者:FH Admin
* from fhadmin.cn
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.
addResourceHandler("
/swagger-ui/**"
)
.addResourceLocations("
classpath:/META-INF/resources/webjars/springfox-swagger-ui/"
)
.resourceChain(false);

}

@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("
/swagger-ui/"
)
.setViewName("
forward:/swagger-ui/index.html"
);

}
}

4.访问 127.0.0.1:8081/swagger-ui/index.html

5.接口说明案例

处理类上加注解,比如
@Api("
用户注册登录接口"
)

在方法上加注解,比如
@ApiOperation(value = "
登录"
, notes="
校验登录是否成功"
)
@ApiImplicitParam(name = "
KEYDATA"
, value = "
用户名密码混淆码组合"
, paramType = "
query"
, required = true, dataType = "
String"
)

工作流模块-------------------------------www.fhadmin.cn

1.模型管理:web在线流程设计器、导入导出xml、复制流程、部署流程

2.流程管理:导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起

3.运行中流程:查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人、自由跳转

4.历史的流程:查看流程信息、流程用时、流程状态、查看任务发起人信息

5.待办任务:查看本人个人任务以及本角色下的任务、办理、驳回、作废、指派一下代理人

6.已办任务:查看自己办理过的任务以及流程信息、流程图、流程状态(作废 驳回 正常完成)

办理任务时候可以选择用户进行抄送,就是给被抄送人发送站内信通知当前审批意见以及备注信息

注:当办理完当前任务时,下一任务待办人会即时通讯收到新任务消息提醒,当作废和完结任务时,

任务发起人会收到站内信消息通知



一、引言
随着互联网的快速发展,越来越多的项目采用springboot框架进行开发。而在项目的开发过程中,接口文档的编写也显得尤为重要。而Swagger的出现,更是为接口文档的编写提供了很大的方便,最新版本Swagger3也已经发布。那么如何在springboot升级到Swagger3呢?
二、升级前的准备工作
1. Maven pom.xml文件中引入swagger3的依赖包:
```

io.springfox
springfox-boot-starter
3.0.0

```
2. Swagger2的配置文件删除。
三、配置Swagger3
在springboot的启动类上加上@EnableSwagger2WebMvc,开启Swagger的自动配置(引入SwaggerMvcConfiguration类)。
```
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig {}
```
四、参数配置
1. Docket的bean实例不再通过new关键字来进行创建。
2. Swagger2的配置类中提供了多种配置方法(jQuery, Bootstrap)来改变样式,我们这里是使用默认的。
3. Swagger3文档中需要显示的接口的时候,采用.antMatchers(\" / test /**\"),其中/ test /是你的请求路径.
```
@Configuration
@EnableSwagger2WebMvc
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.select()
.apis(RequestHandlerSelectors.basePackage(\"xxxx.xxx.xx.controller\"))
.paths(PathSelectors.any())
.build()
//这里采用的Ant风格的路径匹配,进行拦截处理
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.apiInfo(apiInfo());
}
private List securitySchemes() {
ApiKey apiKey = new ApiKey(\"token\", \"token\", \"header\");
return Collections.singletonList(apiKey);
}
private List securityContexts() {
AuthorizationScope[] authorizationScopes = {
new AuthorizationScope(\"read\", \"read all\")
};
SecurityReference securityReference = new SecurityReference(\"token\", authorizationScopes);
return Collections.singletonList(SecurityContext.builder()
.securityReferences(Collections.singletonList(securityReference))
.build());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(\"xxxxxxx\")
.description(\"xxxxxxxxxxxxxxxxxx\")
.termsOfServiceUrl(\"#\")
.version(\"1.0\")
.build();
}
}
```
五、注解配置
1. Swagger2的注解配置:
- @ApiOperation:接口文档的描述
- @ApiParam:单个参数描述
- @ApiImplicitParams:多个参数描述
- @ApiModel:用于对象类中,表示该类的实体注释
- @ApiModelProperty:用于字段,表示对model属性的说明或者数据操作更改
2. Swagger3添加部分注解:
- @SecurityScheme 用于配置认证方案,如API Key, OAuth2 等等
- @SecurityRequirement 用于定义 API 操作所需的安全要求,和SecurityScheme表达方式类似
- @Server 用于定义多个server端点
六、运行并测试
在浏览器中,访问 `http://localhost:端口/swagger-ui/`即可看到效果。
七、总结
上述配置可以让我们在springboot升级到Swagger3中,编写出清晰明了的接口文档,也让我们的项目开发变得更加便捷高效。同时,阅读官方文档,学习使用Swagger3对于Java开发者也是非常重要的。