springboot集成swagger3

swagger3的springboot启动器jar包

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>

注意:当前SpringBoot版本为2.5.6,Swagger3.0目前无法完全兼容SpringBoot2.6.x!

编写TestController代码

@RestController
@RequestMapping("test")
public class TestController {@GetMappingpublic Map<String, Object> get(@RequestParam String id) {Map<String, Object> r = new HashMap<>(1);r.put("id", id);return r;}@PostMappingpublic Map<String, Object> post() {Map<String, Object> r = new HashMap<>(1);r.put("code", 200);return r;}@PutMappingpublic Map<String, Object> put(String id) {Map<String, Object> r = new HashMap<>(1);r.put("id", id);return r;}@DeleteMappingpublic Map<String, Object> delete(String id) {Map<String, Object> r = new HashMap<>(1);r.put("id", id);return r;}
}

创建Swagger3Configuration

@Configuration
@EnableOpenApi
public class SwaggerConfig {private static final String VERSION = "0.0.1";@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.OAS_30).groupName("分组名称").apiInfo(apiInfo()).select()//要扫描的包.apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder()// 设置标题.title("文档标题")//联系人.contact(contact())//描述.description("xxx文档")//服务.termsOfServiceUrl("https://spring.io/")//许可证.license("Apache 2.0").licenseUrl("https://www.apache.org/licenses/LICENSE-2.0").version(VERSION).build();}private Contact contact (){return new Contact("SpringBoot", "https://spring.io/", "email");}
}

运行演示

访问网址:http://127.0.0.1:8081/swagger-ui/index.html

对接口进行注解

swagger中常用的注解

注解 作用 使用位置
@Api 表示对类的说明常用参数
@ApiOperation 说明方法的用途 方法
@ApiImplicitParams 里面可以包含多个@ApiImplicitParam 方法
@ApiImplicitParam 描述参数的用途 方法
@ApiModel 表示一个数据类的信息
@ApiModelProperty 描述数据类的属性 属性
@ApiIgnore 忽略某个字段使之不显示在文档中 属性

接口基本使用

1.新建一个用户实体类

@ApiModel("用户")
@Data
public class User {@ApiModelProperty("用户名")private String username;@ApiModelProperty("密码")private String password;
}

2.给TestController添加注解

@Api(tags = "测试接口")
@RestController
@RequestMapping("test")
public class TestController {@ApiOperation("get请求")@GetMapping@ApiImplicitParam(name = "id", value = "测试用id", dataTypeClass = String.class)public Map<String, Object> get(@RequestParam String id) {Map<String, Object> r = new HashMap<>(1);r.put("id", id);return r;}@ApiOperation("post请求")@PostMappingpublic Map<String, Object> post(@RequestBody User user) {Map<String, Object> r = new HashMap<>(1);r.put("code", 200);return r;}@ApiOperation("put请求")@PutMapping@ApiImplicitParam(name = "id", value = "put请求id", dataTypeClass = String.class)public Map<String, Object> put(String id) {Map<String, Object> r = new HashMap<>(1);r.put("id", id);return r;}@ApiOperation("delete请求")@DeleteMapping@ApiImplicitParam(name = "id", value = "delete请求id", dataTypeClass = String.class)public Map<String, Object> delete(String id) {Map<String, Object> r = new HashMap<>(1);r.put("id", id);return r;}
}

运行结果



集成更好的UI-knife4j

maven

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version>
</dependency>

启动器

在SwaggerConfig类上添加**@EnableKnife4j**

@Configuration
@EnableOpenApi
@EnableKnife4j
public class SwaggerConfig

访问网站:http://127.0.0.1:8080/doc.html#/home

springboot集成swagger3与knife4j相关推荐

  1. SpringBoot 集成Swagger3+knife4j

    SpringBoot 集成Swagger3+knife4j 以下代码来自本人真实企业项目摘录 1. 导入SpringFox依赖 <!--Swagger3相关--><dependenc ...

  2. SpringBoot集成swagger3(powernode CD2207)(内含教学视频+源代码)

    SpringBoot集成swagger3(powernode CD2207)(内含教学视频+源代码) 教学视频+源代码下载链接地址:https://download.csdn.net/download ...

  3. Springboot 整合Swagger3 和 Knife4j

      前后端分离的项目,接口文档的存在十分重要.与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低.与swagger2相比新版的swa ...

  4. springboot 集成 swagger 和knife4j

    坐标引入 swagger坐标 <!--引入swagger--><dependency><groupId>io.springfox</groupId>&l ...

  5. SpringBoot集成knife4j实现Swagger接口文档

    前言:如果你是后台开发,提供restful接口给前端,建议你使用Swagger3提供restful的接口文档自动生成和在线接口调试.knife4j是对Swagger进一步封装,其优化了API文档的UI ...

  6. SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)

    一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发 ...

  7. SpringBoot集成邮箱功能并使用Knife4j测试

    SpringBoot集成邮箱功能并使用Knife4j测试 哔哩哔哩链接:https://www.bilibili.com/video/BV1uA411N7cm 1.获取163或QQ邮箱授权码 163邮 ...

  8. Springboot集成knife4j,Failed to start bean ‘documentationPluginsBootstrapper‘;导致系统不能正常启动

    Springboot集成knife4j,Springboot更新到2.6启动报错Failed to start bean 'documentationPluginsBootstrapper'; nes ...

  9. SpringBoot集成Redis并使用Knife4j测试

    SpringBoot集成Redis并使用Knife4j测试 基于若依的ruoyi-vue前后端分离版本,若依官网:http://www.ruoyi.vip/ 项目目录结构 项目的目录结构如下: 1.新 ...

最新文章

  1. PMP认证_计算题公式
  2. 找不到媳妇给愁的。。。
  3. Arduino编程之Serial.println()和Serial.print()
  4. 理解metrics.classification_report
  5. 最全“勒索病毒”的应对方案
  6. Sandboxie免费开源沙箱软件下载与详细使用教程
  7. 新编计算机组装与维护标准教程,计算机组装与维护标准教程(2015-2018版)
  8. 专题:2019世界移动通信大会(MWC)精彩纷呈,中国企业各出大招
  9. Springboot美食分享系统716y7计算机毕业设计-课程设计-期末作业-毕设程序代做
  10. 三种数学语言的相互转化
  11. CSDN邀您加入GitChat,让知识变现!
  12. Invalid HTTP_HOST header: ‘testserver‘. You may need to add ‘testserver‘ to ALLOWED_HOSTS
  13. duolingo 多邻国 安卓版无法使用口语功能
  14. 用JS写右下角烦人的弹窗小广告
  15. 斐波那契回调线怎么画_斐波那契回调线的运用
  16. [ML]归纳学习与机器学习概述
  17. 曲线坐标轴范围及刻度的自适应算法综述
  18. 高效学习 程序员练级攻略
  19. 尼玛,刚聊完就弹窗推荐,这些 APP 是在偷听吗?
  20. java中的内存图_各个JAVA场景下的内存图

热门文章

  1. 网工如何巧妙找到好工作?
  2. VARIANT的使用
  3. 《Linus Torvalds自传》摘录 ----- 阮一峰 文
  4. linux磁盘分区、格式化并挂载
  5. 研学旅游实践教育的开展助力文旅产业发展
  6. 《雍正皇帝》文化专有词翻译策略的研究现状
  7. phpMyAdmin配置管理多个数据库服务器方法
  8. UML系列文章(22)高级行为---状态机
  9. 主板、二板、三板、中小板、国际板、新三板、A,B股
  10. oracle 王景田_埃里森:将通过云计算推动公司增长 而非并购