springboot整合knife4j(绝对可用)1.9.6版~2.0.8版

更新时间:2023-05-31 20:11:19 阅读: 评论:0

springboot整合knife4j(绝对可⽤)1.9.6版~2.0.8版
1.情景展⽰
  开发接⼝供别⼈调⽤或者前后端分离后,前端调后端请求需要提供什么参数,会返回什么样的结果。如果⼀对⼀沟通的话,费时费⼒,写接⼝⽂档的话也⽐较⿇烦。
2.效果展⽰
  现在使⽤knife4j就可以实现以下效果:
  点击调试按钮,就可以直接配置请求参数,发送请求啦
3 1.9.6版本配置
  1.引⼊jar包
  只需要引⼊这⼀个jar包就可以了,⽆需其它jar包。   
  2.创建⼀个配置类,⽐如:Knife4jConfig
  3.导包
  4.添加注解
  以上是三个注解,⼀个都不能少,在这⾥需要注意的⼀点就是:
  启⽤knif4j使⽤的注解是:@EnableSwaggerBootstrapUi,⽽不是@EnableKnife4j
  5.创建Docket对象,并注⼊到spring容器当中
加班费英文
  6.设置主页⽂档内容
  在配置⽂件类Knife4jConfig中添加以上两个⽅法即可。
4 2.0.4版本配置
  1.导包
<!--配置knife4j项⽬接⼝⽂档-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
  说明:2.0.2版本的,只需要把上⾯jar包的版本号改成2.0.2即可,下⾯的配置⼀模⼀样。
  只需要引⼊这⼀个jar包就可以了,⽆需其它jar包。   
  2.创建⼀个配置类,⽐如:Knife4jConfig(配置⽂件类最好创建⼀个config/conf包,⽅便统⼀管理)
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import io.swagger.annotations.ApiOperation;
import t.annotation.Bean;
import t.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.rvice.ApiInfo;
import springfox.documentation.rvice.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* 项⽬接⼝⽂档配置(swagger)
* @description: 使⽤knife4j需要⼀个swagger的配置类
* @author: Marydon
* @date: 2020年08⽉11⽇ 0011 9:22
*/
@Configuration
// 必须启⽤swagger
看牙医英文@EnableSwagger2
@EnableKnife4j
/
/ swagger⽂档配置只在指定环境可访问(该注解的值对应的是l⽂件中的spring.profiles.active的值) // ⽀持使⽤!,⽐如:!prod表⽰⾮⽣产环境
// @Profile({"dev","test","jc"})
public class Knife4jConfig {smz
/*
* 创建连接的包信息
* @param: ⽅法名称随便起,虽然它的名字会被作为Bean对象的名字注⼊spring容器
* @date: 2020年08⽉11⽇ 0011 9:51
ahoy* @param:
* @return: springfox.documentation.spring.web.plugins.Docket 返回创建状况
*/
@Bean
public Docket defaultApi2() {
return  new Docket(DocumentationType.SWAGGER_2) // 选择swagger2版本
.uDefaultResponMessages(fal)
// 接⼝⽂档的基本信息
.apiInfo(apiInfo())
.lect()
// 这⾥指定Controller扫描包路径(项⽬路径也⾏)
// ⽅式⼀:配置扫描:所有想要在swagger界⾯统⼀管理的接⼝,都必须在此包下
// .apis(RequestHandlerSelectors.baPackage("pany.ance"))
// ⽅式⼆:只有当⽅法上有@ApiOperation注解时,才能⽣成对应的接⼝⽂档
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
/
/ 路径使⽤any风格(指定所有路径)
.paths(PathSelectors.any())
.build();
}
/*
* 设置⽂档信息主页的内容说明
fluctuation
* @date: 2020年08⽉11⽇ 0011 9:52
* @param:
七年级上册英语期末
* @return: springfox.documentation.rvice.ApiInfo ⽂档信息
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("接⼝项⽬后台服务API接⼝⽂档")
.description("服务相关接⼝(knife4j)")
// 服务Url(⽹站地址)
.termsOfServiceUrl("localhost:8080/")
.contact(new Contact("Marydon",null,""))
.version("1.0")
.build();
}
}
5.注解基本⽤法
  @Api():⽤于类的说明,准确的来说⽤于controller,表⽰这个类是⼀个swagger资源
  对应的是:⼀个Controller
  注意:tags属性必须显式声明,否者⽆法修改⼩组的显⽰名称
watermelon的音标
  举例:
  实际效果:
  未⽣效(因为没有声明:tags=)
  @ApiOperation():⽤于⽅法的说明,表⽰这是⼀个HTTP请求
  对应的是controller⾥的⽅法
alvin and the chipmunks>holiday plan
  2020-12-16
  这⾥需要注意的是:
  @PostMapping对应的post请求,反映到API上就是post请求;西南石油大学天空教室
  @GetMapping对应的get请求,反映到API上就是get请求;
  @RequestMapping如果没有指定具体请求⽅式
  API⽂档如下:
  它会给你⽣出7种不同的请求⽅式,API本⾝没错
  实际上,我们使⽤@RequestMapping的真实⽬的,也许是:想让该接⼝既⽀持get请求,也⽀持post请求,那我们可以做出限定。

本文发布于:2023-05-31 20:11:19,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/129619.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:请求   配置   指定   创建   参数   信息   费时   服务
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图