当前位置: 首页 > article >正文

JavaWeb合集18-接口管理Swager

十八、接口管理

1、Swager

使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。

官网: https://swagger.io/

Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
                <version>4.4.0</version>
            </dependency>
  1. 导入knife4j的maven坐标

  2. 在配置类中加入knife4j相关配置


import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;


@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport{

/*
*
* 在配置类中加入knife4j相关配置*/
@Bean
public OpenAPI springShopOpenAPI() {
  log.info("knife4j配置成功");
  return new OpenAPI()
          // 接口文档标题
          .info(new Info().title("永恒之月")
                  // 接口文档简介
                  .description("接口管理")
                  // 接口文档版本
                  .version("v1.0")
                  // 开发者联系方式
                  .contact(new Contact().name("yhzy").email("yhzyai@163.com")))
          .externalDocs(new ExternalDocumentation()
                  .description("SpringBoot基础框架")
                  .url("http://127.0.0.1:9091"));
}

//   下面是分组
  @Bean
  public GroupedOpenApi groupedOpenApi01(){
      return GroupedOpenApi.builder()
              .group("管理端接口")
              // 该分组所在的包
              .packagesToScan("fun.yhzy.controller.admin")
              .build();
  }

  @Bean
  public GroupedOpenApi groupedOpenApi02(){
      return GroupedOpenApi.builder()
              .group("用户端接口")
              // 该分组所在的包
              .packagesToScan("fun.yhzy.controller.user")
              .build();
  }

  /**
   * 设置静态资源映射,拦截器放行资源
   * @param registry
   */
  protected void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
      registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  }


}
  1. yml配置
#knife4j 相关配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs


# knife4j的增强配置,不需要增强可以不配
knife4j:
  enable: true
  setting:
    language: zh_cn
    #是否开启密码保护
  basic:
    enable: true
    username: root
    password: 123
1.2 Swager 常用注解

通过注解可以控制生成的接口文档,使接口文档拥有更好的可读性,常用注解如下:

注解说明
@Tag作用于控制类上,name属性用于描述控制类
@Operation作用于控制类的方法上面,summary属性用于描述方法
@Parameter(hidden = true) 、@Operation(hidden = true)、@Hidden这是用于排除或隐藏api
@SchemaDTO实体属性,name属性用于描述属性

创建好后直接访问:后端地址:端口号/doc.html,如:http://localhost:9091/doc.html


http://www.kler.cn/news/368175.html

相关文章:

  • 多eSIM配置文件(MEP)
  • 网络搜索引擎Shodan(4)
  • 使用Python计算相对强弱指数(RSI)进阶
  • 【redis】初识非关系型数据库——redis
  • ELK日志收集
  • uniapp 实现本地二维码 二维码中间增加图片不显示(显示白块)
  • YOLOv5/v8/v10/v11详细介绍:网络结构,创新点
  • 升级Unity后产生的Objects内存泄露现象
  • 面试总结(2024/10/16)
  • ubuntu 硬盘扩容
  • python对文件的读写操作
  • 快速入门HTML
  • 影刀RPA实战:验证码识别功能指令
  • 华为手机卡住了怎么办?,快来试试布局性能优化,让你的手机发挥极致性能!!!
  • Linux TCP CC状态机
  • 渗透测试-SQL注入基础知识
  • 游戏提示x3daudio17.dll丢失怎么办? X3DAudio17.dll修复方法
  • C#从零开始学习(接口,强制转化和is)(7)
  • python之多任务爬虫——线程、进程、协程的介绍与使用(16)
  • 一种将树莓派打造为游戏机的方法——Lakka
  • nacos的原理,为什么可以作为注册中心,和zookeeper的区别
  • Vue3侦听器监听数据变化早于mapContext初始化的问题
  • (二十二)、k8s 中的关键概念
  • 动态规划 —— 斐波那契数列模型-解码方法
  • StringBuilder
  • 信息学奥赛复赛复习18-CSP-J2023-01小苹果-向上取整、向下取整、模拟算法