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

Swagger-----knife4j框架

简介

  1. 使得前后端分离开发更加方便,有利于团队协作

  2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担

  3. 功能测试

    Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。

怎么使用 

1.导入maven坐标

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

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

/**
     * 通过knife4j生成接口文档
     * @return
*/
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("苍穹外卖项目接口文档")
                .version("2.0")
                .description("苍穹外卖项目接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

3.设置静态资源映射,否则接口文档页面无法访问

        也是在配置类中配置

/**
     * 设置静态资源映射
     * @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/");
}

4.测试

        在浏览器中输入当前项目所在服务器的地址:8080/doc.html

常用注解 

注解说明
@Api用在类上,例如Controller,表示对类的说明
@ApiModel用在类上,例如entity、DTO、VO
@ApiModelProperty用在属性上,描述属性信息
@ApiOperation用在方法上,例如Controller的方法,说明方法的用途、作用
  1. @Api(tags = "员工相关接口")
    1. 放在controller类名上使用tags标签说明当前controller层有什么作用
  2. @ApiOperation(value = "员工登录")
    1. 放在controller层中的方法上,用来说明当前方法有什么作用
  3. @ApiModel放在实体类上用来表述当前模型的作用
  4. @ApiModelProperty
    1. 用来说明当前实体类中的当前属性的作用


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

相关文章:

  • 迎接“全全闪”时代 星辰天合发布星海架构和星飞产品
  • 集群路径规划学习(一)之EGO-swarm仿真
  • Kettle 简介
  • 读《Segment Anything in Defect Detection》
  • Spring Boot 中使用 ResourceLoader 加载资源的完整示例
  • 使用 Amazon VPS 探索存储选项:实用指南
  • Flutter 3.16 中带来的更新
  • selenium长截图,截图整个页面
  • (C)一些题2
  • 成为电车销量的“中坚力量”,微小型车不能只有“低价”?
  • 场景交互与场景漫游-osgGA库(5)
  • 如何使用Fiddler进行弱网测试
  • 模块化Common JS 和 ES Module
  • MongoDB相关基础操作(库、集合、文档)
  • Python实现WOA智能鲸鱼优化算法优化随机森林回归模型(RandomForestRegressor算法)项目实战
  • Django 入门学习总结4
  • 如何利用Python开发自动发布文章脚本?记录开发万媒易发的心路历程
  • 计算一个6人的队形问题
  • 多位数组转化为一维数组
  • Kotlin 核心语法,为什么选择Kotlin ?
  • Centos(Linux)服务器安装Dotnet8 及 常见问题解决
  • 世微 电动车摩托车灯 5-80V 1.2A 一切二降压恒流驱动器AP2915
  • 深入了解百度爬虫工作原理
  • rook-ceph部署
  • GitHub 2023报告-开源和AI的现状
  • 172版本关闭背钻后自动添加反盘和禁布的功能
  • 读取Json BugFix
  • DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(上)
  • 一周互联网简讯 | 本周互联网发生了啥?(第3期)
  • KeyarchOS的CentOS迁移实践:使用操作系统迁移工具X2Keyarch V2.0