欢迎光临散文网 会员登陆 & 注册

详细SpringBoot框架教程——SpringBoot集成Swagger

2021-03-30 16:57 作者:动力节点小王本王  | 我要投稿




SpringBoot集成swagger

说到swagger(丝袜哥),首先了解一下OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。(https://github.com/OAI/OpenAPI-Specification

swagger是目前最受欢迎的OpenAPI规范(OAS)开发工具框架,支持从设计和文档到测试和部署的整个API生命周期的开发

wagger官网:https://swagger.io/ 是一个开源项目,也就是提供jar包)

swagger2 版本:1.x,2.x,现在都用2.x;

Spring Boot集成swagger,可以很方便地在springboot中使用swagger生成api接口文档;

swagger的作用

随项目自动生成强大RESTful API文档,减少开发人员工作量;(不需要自己写api接口文档了),使用swagger,只需要在代码中添加一些注解即可生成API接口文档便于同步更新API文档的说明,当然也有人诟病说这种方式与代码耦合在一起,智者见智仁者见仁;

另外生成的api文档页面带有测试功能,可以用来调试每个RESTful API接口;

怎么集成?

springboot集成第三方组件一般情况下是三个步骤:

1、加依赖(可能是starter);

2、配置application.properties文件;

3、写代码;

所以:

1、添加相关依赖

1、配置文件(暂时不需要在application.properties配置)

2、编写相关代码,需要用到一些注解;

红色的这些都是swagger的注解;

然后在spring ioc容器中配置创建一个Docket对象;

具体参考课堂上的样例代码;

完成后访问:http://localhost:8080/swagger-ui.html 得到API文档;(如果有项目上下文地址要带上项目上下文

说明:2.10.5 这个版本目前使用的时候有点问题,后续再看一下;

接口api的数据查看:http://localhost:8080/24-springboot/v2/api-docs

swagger常用注解:

  • @Api:用在类上,说明该类的作用;

  • @ApiOperation:用在方法上,说明方法的作用;

  • @ApiImplicitParams:用在方法上包含一组参数说明;

  • @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面:

  • paramType:参数放在哪个地方;

  • header-->请求参数的获取:@RequestHeader;

  • query-->请求参数的获取:@RequestParam;

  • path-->请求参数的获取:@PathVariable (用于restful接口);

  • body(不常用);

  • form(不常用);

  • name: 参数名;

  • dataType:参数类型;

  • required:参数是否必须传;

  • value:参数的意思;

  • defaultValue:参数的默认值;

  • @ApiResponses:用于表示一组响应;

  • @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息;

  • code:数字,例如400;

  • message:信息,例如 "请求参数不合法";

  • response:抛出异常的类;

  • @ApiIgnore:使用该注解忽略这个API,在页面上不显示;

  • @ApiModel:描述一个Model的信息;

  • @ApiModelProperty:描述一个model的属性;

注解可参考官方:https://github.com/swagger-api/swagger-core/wiki/Annotations 

WebJars是将Web前端Javascript和CSS等资源打包成Java的Jar包,这样在Java Web开发中我们可以借助Maven这些依赖库的管理,保证这些Web资源版本唯一性

swagger安全问题: 正式上线的时候,建议关闭swagger

在配置文件配置一个开关:开启或关闭:

springfox与swagger的关系

swagger是一个流行的API开发框架,这个框架实现了“开放API声明”(OpenAPI Specification,OAS)规范;

由于Spring的流行,Marty Pitt编写了一个基于Spring的组件swagger-springmvc,用于将swagger集成到springmvc中来,而springfox则是从swagger-springmvc这个组件发展而来,同时springfox也是一个新的

项目,目前新的项目中都是使用springfox-swagger2,其实在一些比较老的项目中可能还会用swagger-springmvc

springfox-swagger2依然是实现OSA规范,生成一个描述API的json文件,,另外一个组件springfox-swagger-ui就是将这个json文件解析出来,用一种更友好的页面效果方式呈现出来

Lombok介绍

lombok就是一个jar包,加到项目中;

使用lombok的步骤如下:

1、加入lombok的依赖;

<!--lombok-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
</dependency>

2、Idea工具需要改一个配置;

3、写代码的时候,在代码上加一些lombok的注解;常用的注解:

@NoArgsConstructor
@Getter
@Setter
@Data

如果想更深入的学习springboot,奉上springboot全套视频教程,视频学习效果更佳,走过路过别忘素质三连哦~~

详细SpringBoot框架教程——SpringBoot集成Swagger的评论 (共 条)

分享到微博请遵守国家法律