精品资料网站,网站目标关键词,网站建设呼和浩特,互联网技术类岗位有哪些1.引入依赖
创建项目后#xff0c;在 pom.xml 文件中引入 Swagger3 的相关依赖。回忆一下#xff0c;我们集成 Swagger2 时#xff0c;引入的依赖如下#xff1a;
dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2在 pom.xml 文件中引入 Swagger3 的相关依赖。回忆一下我们集成 Swagger2 时引入的依赖如下
dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version
/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version
/dependency
而在 Swagger3 中我们不需要再引入两个不同的依赖了我们只需要引入一个依赖就足够具体引入的依赖如下
dependencygroupIdio.springfox/groupIdartifactIdspringfox-boot-starter/artifactIdversion3.0.0/version
/dependency
而这部分Swagger2 和 Swagger3 就有所不同了Swagger2 需要添加两项不同依赖而 Swagger3 只用添加一项依赖就可以了。
除此之外还有一个依赖与上述Swagger3 功能一样
dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-ui/artifactIdversion1.6.3/version
/dependency 1.1.springfox-boot-starter与springdoc-openapi-ui的区别 springfox-boot-starter: 这是Springfox团队开发的一个库用于集成Swagger到Spring Boot项目中。版本3.0.0是适用于Swagger 3的版本支持Swagger 3的新特性和规范。该库提供了一组注解和类用于配置和生成Swagger文档并提供了与Spring MVC集成的功能。通常与Springfox的其他模块一起使用如 springfox-swagger-ui 和 springfox-swagger2。 springdoc-openapi-ui: 这是一个由社区维护的库用于集成OpenAPI以前称为Swagger到Spring Boot项目中。版本1.6.3是适用于OpenAPI 3的版本支持OpenAPI 3的新特性和规范。该库提供了一组注解和类用于配置和生成OpenAPI文档并提供了一个集成了Swagger UI的Web界面。与Springfox不同springdoc-openapi-ui更专注于OpenAPI规范提供了更多与OpenAPI规范对齐的功能和特性。
总的来说如果你的项目使用Swagger 3现在被重命名为OpenAPI 3你可以选择使用 springfox-boot-starter 或者 springdoc-openapi-ui具体选择取决于你更喜欢哪种库的风格和功能。
1.2使用Knife4j作为UI界面时需要导入一下依赖 dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactIdversion4.1.0/version/dependency
com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter 是 Knife4j 对 Swagger 3 的增强它也提供了自己的注解和配置。通常来说Knife4j 提供了更丰富的 UI 功能和配置选项使得生成的 API 文档更加易读和美观。
2. 配置Swagger
在Spring Boot项目中创建一个配置类SwaggerConfig并添加Swagger的配置信息。
Configuration
public class SwaggerConfig {Beanpublic OpenAPI springShopOpenAPI() {return new OpenAPI().info(new Info().title(进销存管理系统).contact(new Contact()).description(我的API文档).version(v1));}
}
yaml文件配置如下
#swagger3文档配置
springdoc:swagger-ui:enabled: true#参数扁平化处理swagger界面实体属性可以当做params参数正常显示default-flat-param-object: true
这样配置好了之后就可以正常使用注解了
使用注解方式如下
接口controller:
Slf4j
Tag(name 用户管理)
RestController
RequestMapping(/user)
public class UserController {Autowiredprivate UserManager userManager;/*** //TODD* 系统登录** author: * date: 2024-04-05 13:03:40* param: * param* return: ServiceVO**/Operation(summary 系统登录)PostMapping(/login)public ServiceVO login(RequestBody User user, HttpSession session) {log.info(login user: user.toString());return userManager.login(user,session);}
}
实体类以及vo对象
Data
Schema(description 业务类型元数据表saveDto)
public class BasicElDataDto {Schema(description 主键新增不传)TableId(value pk_id, type IdType.AUTO)private String pkId;Schema(description 业务类型)private String serviceType;Schema(description 字段名称)private String elName;Schema(description 字段类型)private String elType;
3. 注解说明
Swagger3的注解与Swagger2有所不同以下是一些常用注解的对照表 4. 访问Swagger UI
启动您的Spring Boot应用后您可以通过以下地址访问Swagger UI
http://localhost:8080/doc.html
http://localhost:8080/swagger-ui/index.html