swagger 以及swaggerUI使用的步骤
1.swagger,可以这么理解swagger是接口规范。Rest Api 传递参数的除了get请求外,put post,需要传递json。或者就是直接都通过传递json到后台
这里主要介绍一下springboot后台整合swagger的使用步骤。如果要查看swagger(OpenApi)的规范,可以参考git的官方文件规范。
springboot 整合swagger的简单基本使用。
第一步:
在pom.xml文件中引入依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
第二步:
添加swagger的配置类
@Configuration
@EnableSwagger2
@ComponentScan(basePackages = { "com.xxx.controller" })//扫描的包路径
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.paths(PathSelectors.any()).build();
} private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("用户登录")//接口标题
.description("用户登录接口")//接口描述
.version("v1.0")//版本号
.contact(new Contact("name", "url", "email"))//联系人信息
.build();
}
}
如果没有添加@ComponentScan(basePackages={})扫描的包路径。也可以通过一下方式实现添加多个扫描包
@Configuration
@EnableSwagger2
public class SwaggerConfiguration { private static final String SPLITOR = ","; //重写basePackage()支持多包扫描
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(basePackage("cn.com.agree.aweb.controller.gateway" + SPLITOR
+ "cn.com.agree.aweb.controller.cluster" + SPLITOR
+ "cn.com.agree.aweb.controller.flow" + SPLITOR
+ "cn.com.agree.aweb.controller.fuse" + SPLITOR
+ "cn.com.agree.aweb.controller.conversion" + SPLITOR
+ "cn.com.agree.aweb.controller.signature" + SPLITOR
+ "cn.com.agree.aweb.controller.api"))
.paths(PathSelectors.any())
.build(); } private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("网关管控接口")
// .description("更多请关注http://www.baidu.com")
// .termsOfServiceUrl("http://www.baidu.com")
// .contact("sunf")
.version("v1.1")
.build();
}
}
第三步则是在Controller类里加入swagger注解,这样对应的接口可以在项目启动后通过url路径(http://localhost:8080/swagger-ui.html)访问到。
@ApiOperation(value = "用户登录",tags = {"用户管理"})
@ApiImplicitParams({ @ApiImplicitParam(name = "userName", value = "用户名", paramType = "body",required=true),
@ApiImplicitParam(name = "password", value = "密码", paramType = "body",required=true) })
@RequestMapping(value = "/login", method = RequestMethod.POST)
public RestResult<String> apiMethod(
@Valid @RequestBody LoginRequestDTO loginRequestDTO, Errors errors,
HttpServletRequest request) throws Exception {
//业务处理
return null;
}
请求参数在路径上的注解PathVariable使用,示例如下:
@ApiOperation("根据id刪除后端服务")
@DeleteMapping("/v1.1/{id}")
@ApiImplicitParam(name = "id", value = "后端服务id", paramType = "path", dataType = "string", required = true)
@OperationLog(name = "删除后端服务")
public Object deleteServerById(@PathVariable("id") String id, @RequestParam("api_id") String apiId) {
return apiServiceService.deleteServerById(id, apiId);
}
以上三步骤就是简单的swagger基本使用步骤。
访问swaggerUi后,页面如下:点开对应的接口,可以直接在浏览器进行测试接口是否可用。
swagger 以及swaggerUI使用的步骤的更多相关文章
- 【swagger】 swagger-ui的升级版swagger-bootstrap-ui
swagger-bootstrap-ui是基于swagger-ui做了一些优化拓展: swagger-ui的界面: swagger-bootstrap-ui界面: 相比于原生的swagger-ui , ...
- Springboot集成Swagger操作步骤
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 使用swagger实现web api在线接口文档
一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...
- Spring Boot 项目实战(三)集成 Swagger 及 JavaMelody
一.前言 上篇介绍了 Logback 的集成过程,总体已经达到了基本可用的项目结构.本篇主要介绍两个常用工具,接口文档工具 Swagger .项目监控工具 JavaMelody 的集成步骤. 二.Sw ...
- 使用swagger实现web api在线接口文档(转载)
一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api(二十)
一:Swagger介绍 Swagger是当前最好用的Restful API文档生成的开源项目,通过swagger-spring项目 实现了与SpingMVC框架的无缝集成功能,方便生成spring r ...
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
本文作者:小雷FansUnion-一个有创业和投资经验的资深程序员-全球最大中文IT社区CSDN知名博主-排名第119 实际项目中非常需要写文档,提高Java服务端和Web前端以及移动端的对接效率 ...
- 最新版Swagger 3升级指南和新功能体验!
Swagger 3.0 发布已经有一段时间了,它于 2020.7 月 发布,但目前市面上使用的主流版本还是 Swagger 2.X 版本和少量的 1.X 版本,然而作为一名合格的程序员怎么能不折腾新技 ...
- springboot集成swagger实战(基础版)
1. 前言说明 本文主要介绍springboot整合swagger的全过程,从开始的swagger到Knife4j的进阶之路:Knife4j是swagger-bootstarp-ui的升级版,包括一些 ...
随机推荐
- Opencv笔记(十一)——图像模糊(平滑)
学习目标: 使用自定义的滤波器对图像进行卷积(2D 卷积) 学习使用不同的低通滤波器对图像进行模糊 一.2D卷积 卷积不是很了解的可以看我上一篇博客,与语音信号一样,我们也可以对 2D 图像实施低通滤 ...
- 802.11X
LSW1; interface Vlanif100 ip address 192.168.121.2 255.255.255.0连接云的地址 interface GigabitEthernet0/0/ ...
- 筛选nginx访问日志文件中的域名
head -n 500 1.log |awk '{print $11}' > 1.txt 查看1.log日志文件前500行记录并打印出第11列也就是域名的那一列,并输出到1.txt文 ...
- Python_监测某一个端口是否被占用
#!/usr/bin/env python# -*- coding:utf-8 -*- import socket, time, threadsocket.setdefaulttimeout(3) # ...
- [LC] 347. Top K Frequent Elements
Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...
- [LC] 314. Binary Tree Vertical Order Traversal
Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...
- 算法之匹配:KMP
public static int getIndexOf(String str1, String str2) { if (str1 == null || str2 == null || str1.le ...
- 用Excel做数据分析常用函数(数据清理、关联匹配……)
本文总结在使用Excel进行数据分析时,最常用的功能和函数. Excel的功能和函数非常多,用进废退,除了学习基本的函数和功能,最重要的是遇到问题可以快速的搜索并解决. 首先Excel可以处理的数据量 ...
- 康耐视软件VisionPro-max-u与VisionPro-plus-u的区别
康耐视软件VisionPro-max-u与VisionPro-plus-u的区别 1.VisionPro-plus-u为基础版可以直接运用该软件包的算法,拖拽式的窗口程序 2.VisionPro-ma ...
- axious设置携带cookie同时允许跨域的问题
axious设置携带cookie同时允许跨域的问题