SpringBoot集成swagger生成在线接口文档

  1. 集成maven依赖
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.7.0</version>
</dependency>
  1. 创建配置bean

  1. 配置类的相关配置
@Configuration
@EnableSwagger2
@ConditionalOnExpression("${swagger.enable}") //开启访问接口文档的权限
public class Swagger2 {@Beanpublic Docket userRestApi() {return new Docket(DocumentationType.SWAGGER_2).groupName("用户模块")  //模块名称.apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.ulabor.laboratory.controller.usermanage"))  //扫描的控制器路径.paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("xxx项目开发接口文档")    //接口文档标题.description("此文档仅供开发技术组领导、开发人员使用")   //描述.termsOfServiceUrl("http://www.xxx.com/")   //相关的网址.contact(new Contact("后端开发","http://www.xxx.com/","8xxxxx67@qq.com"))    //作者  邮箱等.version("1.0")  //版本号.build();}}

  1. controller层先关的注解使用
@Controller
@RequestMapping("/app")
@Api(tags = "用户登陆相关Api")
public class UserController {。。。。省略
}
在controller层加上@Api注解,tags是对控制器命名,description可以对该控制器进行描述
/*** 用户手机号密码登陆接口** @return 结果json* @author*/@ApiOperation(value = "用户手机号密码登陆接口",response = User.class)@ApiImplicitParams({@ApiImplicitParam(name = "strRegionNumber",paramType = "query",value = "区号",required = true,dataType = "String"),@ApiImplicitParam(name = "strUserPhone",paramType = "query",value = "手机号码",required = true,dataType = "String"),@ApiImplicitParam(name = "strPassword",paramType = "query",value = "密码",required = true,dataType = "String")})@RequestMapping(path = "/phone/password/login", method = RequestMethod.POST,produces = "application/json")@ResponseBodypublic String phonePasswordLogin(HttpServletRequest request) {。。。。此处省略n行代码}

Swagger使用的注解及其说明:

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

@ApiOperation:注解来给API增加方法说明。

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

@ApiImplicitParam:用来注解来给方法入参增加说明。
参数说明:
paramType:指定参数放在哪个地方

       header:请求参数放置于Request Header,使用@RequestHeader获取query:请求参数放置于请求地址,使用@RequestParam获取path:(用于restful接口)-->请求参数的获取:@PathVariablebody:(不常用)请求体form(不常用)表单

name:参数名

dataType:参数类型

required:参数是否必须传

 true | false

value:说明参数的意思

defaultValue:参数的默认值

@ApiResponses:用于表示一组响应

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

  code:数字,例如400message:信息,例如"请求参数没填好"response:抛出异常的类

@ApiModel:描述一个Model的信息(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)

  @ApiModelProperty:描述一个model的属性
  1. 启动Spring Boot主程序,访问:http://localhost:8080/swagger-ui.html
    出现页面如下


    然后可以对接口进行测试。修改后重新启动程序,就可以进行在再次测试,方便前后端实时调试接口。

SpringBoot集成swagger生成在线接口文档相关推荐

  1. SpringBoot集成Swagger2生成API接口文档

    SpringBoot2.3.0集成Swagger2 引入Swagger2相应的依赖 入门示例 SpringBoot2集成Swagger2后启动报错 结语 背景:最近在工作中发现,已经多次发现后台开发人 ...

  2. SpringBoot - 集成Swagger、Knif4j接口文档以及文档添加账号密码登录

    文章目录 集成Swagger.Knif4j 依赖 配置 演示 集成Swagger.Knif4j 依赖 pom.xml <!-- 引入Knife4j的官方start包,Swagger2基于Spri ...

  3. Spring Boot 集成 Swagger 生成 RESTful API 文档

    原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...

  4. 基于 apidoc 生成在线接口文档 (实时更新)(linux系统)

    基于 apidoc 生成在线接口文档 (实时更新)(linux系统) 动态加载,热部署 背景: 规范开发人员的接口文档 文档统一管理,防止本地文档版本不统一 远程部署,保证文档的统一性 主要还是解决, ...

  5. Swagger2生成在线接口文档并导出pdf文件

    文章目录 一,配置 1,pom依赖 2,通用配置 二,注解 三,主题 1,默认主题效果 2,添加依赖 3,添加配置 4,启动看效果 四,token验证 方法1,所有接口上添加 方法2,全局统一添加 五 ...

  6. SpringBoot集成knif4j创建在线API文档

    一直以来能够创建一个同项目一起发布的在线文档,曾经是很多程序员的梦想,偶然发现这个工具已经有了,测试之后发现还挺好用的,特地纪念. 这个工具就是knife4j,它是为Java MVC框架集成Swagg ...

  7. SpringBoot 使用Swagger2打造在线接口文档(附源代码)

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

  8. vvv在线文档导出工具_使用ApiPost工具快速生成在线接口文档

    ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工具 .使用者不仅可以利用apio ...

  9. 用apidoc 生成在线接口文档

    在开发接口的过程中,需要向外发布相应的接口文档.开始的时候使用word来写文档,时间长了发现有几个问题.1) 编写不方便.每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用, ...

最新文章

  1. 校园资源建设平台源代码
  2. mysql数据库运行远程用户访问不了_MySQL数据库远程访问权限如何打开(两种方法)...
  3. Django 02 url路由配置及渲染方式
  4. [Done]Spring @Pointcut 切点调用不到(SpringAOP嵌套方法不起作用) 注意事项
  5. mysql查找最高分最低分_sql查询最高分、最低分和平均分语句
  6. JUnit 5和Selenium –使用Selenium内置的`PageFactory`实现页面对象模式
  7. 活跃用户数怎么计算_【数据运营】|如何做好活跃用户的运营?
  8. Spring Boot 学习之Controller
  9. C#实用杂记-EF全性能优化技巧
  10. Windows下使用pthread
  11. JavaScript中的try...catch...finally
  12. 华为USG6000V 多ISP接入Internet(基于ISP目的地址的多出口)
  13. 【备忘】尚学堂白贺翔java互联网架构师视频教程下载
  14. 已知树节点获取树的节点路径(js树节点路径)
  15. R语言入门(第一篇)--R软件基本操作
  16. c# 中通快递对接_中通快递-单号查询接口-物流路由跟踪信息快递鸟api对接教程...
  17. Mac删除OBS的虚拟摄像头
  18. NLP-信息抽取-三元组-联合抽取-多任务学习-2019:CasRel【关系三元组抽取:一种新的级联二元标注框架】【没用CRF】【基于Lic2019比赛】【数据集:NYT、WebNLG】
  19. 「西瓜书」阅读笔记——决策树
  20. 深度学习,提高前列腺癌诊断正确率

热门文章

  1. 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
  2. INTERSECT 两个单独的sql取交集
  3. 笔记本120赫兹输出html,屏幕:700尼特+100%sRGB+120Hz+防窥_惠普 ELITEBOOK 1040 G4_笔记本评测-中关村在线...
  4. Win8 应用开发——阿狸 小项目
  5. script 标签的 defer 与 async 属性
  6. 【Windows】远程控制电脑、把笔记本电脑当作主机的扩展无线显示器的方法
  7. HTML中关于边框(border)的使用
  8. 小米颓势已现,生死劫命悬手机
  9. 闪送你的圣诞礼给你的爱从不等待
  10. html基础学习之总结