springboot集成swagger3与knife4j的详细代码

目录

springboot集成swagger3

swagger3的springboot启动器jar包

编写TestController代码

创建Swagger3Configuration

运行演示

对接口进行注解

swagger中常用的注解

接口基本使用

运行结果

集成更好的UI-knife4j

maven

启动器

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 { @GetMapping public Map<String, Object> get(@RequestParam String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } @PostMapping public Map<String, Object> post() { Map<String, Object> r = new HashMap<>(1); r.put("code", 200); return r; } @PutMapping public Map<String, Object> put(String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } @DeleteMapping public 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"; @Bean public 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请求") @PostMapping public 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-micro-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的文章就介绍到这了,更多相关springboot集成swagger3内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    SpringBoot自动配置的实现原理是什么

    SpringBoot自动配置的实现原理是什么,配置,组件,文件,方法,注册,获取,一、什么是springboot自动配置SpringBoot通过@EnableAutoConfiguration注

    SpringBoot启动流程是什么

    SpringBoot启动流程是什么,应用程序,方法,组件,上下文,对象,配置,SpringBoot启动过程简介SpringBoot应用程序的启动过程可以分为以下几个步骤:加

    SpringBoot之整合Shiro

    SpringBoot之整合Shiro,SpringBoot,之,整合,Shiro,1.SpringBoot,整合,Shiro,,1.SpringBoot整合Shiro思路2. 环境搭建2.1 创建项目2.2 引入

    SpringBoot与SpringCache

    SpringBoot与SpringCache,SpringBoot,与,SpringCache,1.SpringCache,的,概念,首先,,1.SpringCache的概念首先我们知道jpa,jdbc这些东西都

    SpringBoot集成kafka全面实战

    SpringBoot集成kafka全面实战,SpringBoot,集成,kafka,全面,实战,一,、,前戏,在,,一、前戏1、在项目中连接kafka,因为是外网,首先要开放kafka

    SpringBoot集成Elasticseach

    SpringBoot集成Elasticseach,SpringBoot,集成,Elasticseach,一,、,Elasticseach,介绍,,  一、Elasticseach介绍  1.简单介绍  官网: