SpringBoot项目中如何整合swagger2
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"SpringBoot项目中如何整合swagger2",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"SpringBoot项目中如何整合swa
千家信息网最后更新 2025年01月21日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的类,作为构造参数传给Docket
Swagger2常用注解使用
@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安全错误
数据库的锁怎样保障安全
电脑做服务器怎么共享
河南点创网络技术有限公司
网络安全硬件产品有哪些
安卓 服务器端
网络安全概论 刘建伟pdf
性能强的服务器硬盘
数据库表默认时间
新一代软件开发品质保障
虚拟服务器无法下载文件
手机上网一直提示未连接服务器
电脑数据库怎么看文件
网络安全管理机构名称
小学生六年级网络安全手抄报
手游软件开发需要哪些岗位
上市公司怎么和海关数据库匹配
搭建服务器需要什么专业的知识
北师大 计算机网络技术
网络安全行业法律法规标准
基岩版服务器如何安装插件
杨浦区智能软件开发售后服务
通信网络安全的攻击
国家网络安全周海报图片
打车软件开发方案
网络安全概论 刘建伟pdf
服务器蛀虫
关系数据库高中信息技术
循证医学6s数据库
wind金融数据库有哪些数据
重生互联网科技金融小说
数据库中的表中能嵌套表吗