SpringBoot项目中如何整合swagger2
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,本篇内容主要讲解"SpringBoot项目中如何整合swagger2",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"SpringBoot项目中如何整合swa
千家信息网最后更新 2025年11月15日SpringBoot项目中如何整合swagger2简介
SpringBoot整合Swagger2
本篇内容主要讲解"SpringBoot项目中如何整合swagger2",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"SpringBoot项目中如何整合swagger2"吧!
简介
swagger是一个流行的API开发框架,这个框架以"开放API声明"(OpenAPI Specification,OAS)为基础, 对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。
springfox大致原理:
springfox的大致原理就是,在项目启动的过种中,spring上下文在初始化的过程, 框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成api文档那些类, 并生成相应的信息缓存起来。如果项目MVC控制层用的是springMvc那么会自动扫描所有Controller类,并生成对应的文档描述数据.该数据是json格式,通过路径:项目地址/ v2/api-docs可以访问到该数据,然后swaggerUI根据这份数据生成相应的文档描述界面。 因为我们能拿到这份数据,所以我们也可以生成自己的页面.
SpringBoot整合Swagger2
引入依赖
io.springfox springfox-swagger2 2.7.0 io.springfox springfox-swagger-ui 2.7.0 注意:jdk1.8以上才能运行swagger2
编写配置类配置Swagger
@Configuration@EnableSwagger2public class SwaggerConfig{ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("org.example.yourproject"))//这里填写项目package .paths(PathSelectors.any()) .build(); }//springfox为我们提供了一个Docket(摘要的意思)类,我们需要把它做成一个Bean注入到spring中, 显然,我们需要一个配置文件,并通过一种方式(显然它会是一个注解)告诉程序,这是一个Swagger配置文件。 private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful API") .description("rest api 文档构建利器") .termsOfServiceUrl("https://www.cnblogs.com/yrxing/") .contact("xing") .version("1.0") .build(); } }//springfox允许我们将信息组合成一个ApiInfo的类,作为构造参数传给DocketSwagger2常用注解使用
@Api()、@ApiOperation()
@RestController@RequestMapping(value = "/user", produces = APPLICATION_JSON_VALUE) //配置返回值 application/json@Api(tags = "用户管理")public class HelloController { ArrayList users = new ArrayList<>(); @ApiOperation(value = "获取用户列表", notes = "获取所有用户信息") @RequestMapping(value = {""}, method = RequestMethod.GET) public List hello() { users.add(new User("逻辑", "luoji")); users.add(new User("叶文杰", "yewenjie")); return users; }} @ApiModel()、@ApiModelProperty()
@ApiModel(description = "用户",value = "用户")public class User { private String id; @ApiModelProperty(value = "用户名")//value属性指明了该字段的含义(描述 Description) private String username; @ApiModelProperty(hidden = true)//此注解可以作用在字段或者方法上,只要 hidden 属性为 true ,该字段或者方法就不会被生成api文档. private String password; private String email; private Integer age; private Boolean enabled; }@ApiParam()
@ApiOperation(value = "获取用户详细信息", notes = "根据url的id来获取用户详细信息") @RequestMapping(value = "getUser/{id}", method = RequestMethod.GET) public User getUser(@ApiParam(naeme = "id",value = "用户id", required = true) @PathVariable(value = "id") String id) { return new User(id, "itguang", "123456"); }//@ApiParam这个注解,需要注意的是,这个注解方法的参数前面,不能直接用在方法上面.@ApiImplicitParams()、@ApiImplicitparam()
··· @Api("测试用例1") @Controller public class swaggerTestUse(){ @ApiOperation(value = "apiOperationSwaggerTest", notes = "apiOperationSwagger测试") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id入参", required = true, dataType = "Integer", paramType = "query"), @ApiImplicitParam(name = "brand", value = "brand", required = true, dataType = "BRAND", paramType = "body") }) public void apiOperationSwaggerTest(Integer id, Brand band){ } }到此,相信大家对"SpringBoot项目中如何整合swagger2"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
用户
项目
生成
配置
信息
数据
文档
方法
注解
整合
字段
框架
测试
上下
上下文
内容
原理
参数
属性
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
12月27日同花顺服务器异常
培训档案数据库有什么用
linux 邮件服务器连接状态
网络安全产品资质证书
计算机二级网络技术教程
数据库分库跨库join
在django中怎样删除数据库
太平金服软件开发
数据库中怎么删除一个表里的数据
002211网络安全
服务器有问题能解决吗
t3出行网络安全怎么样
新乡辰烁网络技术有限公司中标
数据库一般要创建多少个连接
网络安全产品安全性要求
中国软件网络安全
小学生网络安全教育的论文
项目上线发数据库
master数据库损坏
网络安全宣传官证书是什么级别
数据库服务或登录密码无效
曲江软件开发方案
太平金服软件开发
maisi服务器
小程序云数据库数据排名
软件开发工作量估计的综合系数
十堰专业的软件开发公司
net数据库怎么删除
lm大服务器
八岐大蛇服务器圣魂纷争25服