没有合适的资源?快使用搜索试试~ 我知道了~
首页详解spring cloud整合Swagger2构建RESTful服务的APIs
详解spring cloud整合Swagger2构建RESTful服务的APIs
8 下载量 69 浏览量
更新于2023-03-16
评论
收藏 167KB PDF 举报
主要介绍了详解spring cloud整合Swagger2构建RESTful服务的APIs,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
资源详情
资源评论
资源推荐
详解详解spring cloud整合整合Swagger2构建构建RESTful服务的服务的APIs
主要介绍了详解spring cloud整合Swagger2构建RESTful服务的APIs,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看
看吧
前言前言
在前面的博客中,我们将服务注册到了Eureka上,可以从Eureka的UI界面中,看到有哪些服务已经注册到了Eureka Server上,但是,如果我们想查看当前服务提供了哪
些RESTful接口方法的话,就无从获取了,传统的方法是梳理一篇服务的接口文档来供开发人员之间来进行交流,这种情况下,很多时候,会造成文档和代码的不一致
性,比如说代码改了,但是接口文档没有改等问题,而Swagger2则给我们提供了一套完美的解决方案,下面,我们来看看Swagger2是如何来解决问题的。
一、引入一、引入Swagger2依赖的依赖的jar包包
<!-- swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
二、初始化二、初始化Swagger2的配置的配置
@Configuration
@EnableSwagger2 // 启用Swagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {// 创建API基本信息
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.chhliu.jpa"))// 扫描该包下的所有需要在Swagger中展示的API,@ApiIgnore注解标注的除外
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {// 创建API的基本信息,这些信息会在Swagger UI中进行显示
return new ApiInfoBuilder()
.title("Spring Boot中使用Swagger2构建RESTful APIs")// API 标题
.description("rdcloud-jpa提供的RESTful APIs")// API描述
.contact("chhliu@")// 联系人
.version("1.0")// 版本号
.build();
}
}
注:该配置类需要在Application同级目录下创建,在项目启动的时候,就初始化该配置类
三、完善三、完善API文档信息文档信息
public interface SonarControllerI {
@ApiOperation(value="获取项目组Sonar对应的Url信息", notes="根据id获取项目组Sonar对应的Url信息")// 使用该注解描述接口方法信息
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "SonarUrl表ID", required = true, dataType = "Long", paramType="path")
})// 使用该注解描述方法参数信息,此处需要注意的是paramType参数,需要配置成path,否则在UI中访问接口方法时,会报错
@GetMapping("/get/{id}")
SonarUrl get(@PathVariable Long id);
@ApiOperation(value="获取项目组Sonar对应的所有Url信息")
@GetMapping("/get/all")
List<SonarUrl> getAll();
}
注:paramType表示参数的类型,可选的值为"path","body","query","header","form"
四、完善返回类型信息四、完善返回类型信息
@Entity(name = "SONAR_URL")
public class SonarUrl implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value="主键", hidden=false, notes="主键,隐藏", required=true, dataType="Long")// 使用该注解描述属性信息,当hidden=true时,该属性不会在api中显示
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ApiModelProperty(value="URL链接地址")
@Column(name="URL")
private String url;
@ApiModelProperty(value="项目组")
@Column(name="TEAM")
private String team;
@ApiModelProperty(value="部门")
@Column(name="DEPARTMENT")
private String department;
……省略getter,setter方法……
}
五、启动应用五、启动应用
1、在浏览器中输入:http://localhost:7622/swagger-ui.html
2、结果如下:
紫藤花叶子
- 粉丝: 287
- 资源: 889
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1