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

springbootweb集成swagger

可以选择集成原生swagger,我这里选择的是在swagger之上又封装了一层的knife4j。比原生swagger更好用点,可以看接口文档,测试接口

引入依赖

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

编写配置类


```java
package com.itheima.mp.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 * 配置类,注册web层相关组件
 */
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {

    /**
     * 通过knife4j生成接口文档
     *
     * @return
     */
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("swagger文档")
                .version("2.0")
                .description("这是我的文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.itheima.mp"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

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

## controller层和实体类上加注解
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1bd4feab19b3416bbbd6282782ce020a.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5a8115016885470c93f0fef839a0badf.png)

## 访问swagger文档地址
项目启动地址/doc.html
例如 127.0.0.1:9090/doc.html
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2bcf078ed6bd40a6b3a1cd3a3456d96f.png)



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

相关文章:

  • 王道考研视频——操作系统笔记
  • 海外服务器哪个速度最快且性能稳定
  • GRE隧道在实际部署中的优化、局限性与弊端
  • 排序篇(七大基于比较的排序算法)
  • 华为全联接大会HC2024 观会感
  • QMT获取可转债行情数据方法介绍!支持QMT量化软件的券商平台?
  • Oracle(140)如何创建和管理数据库角色?
  • Android14 蓝牙启动流程
  • C++编程语言:基础设施:命名空间(Bjarne Stroustrup)
  • 基于微信小程序的购物系统+php(lw+演示+源码+运行)
  • App端测——稳定性测试
  • 笔记整理—内核!启动!—linux应用编程、网络编程部分(1)API概述与文件I/O
  • 互联网技术的持续演进:从现在到未来
  • 开放的数据时代:Web3和个人隐私的未来
  • 自动化流程机器人(RPA)
  • 计算机图形学 中心画圆算法 原理及matlab代码实现
  • 『功能项目』QFrameWorkBug拖拽功能【66】
  • SpringBootWeb增删改查入门案例
  • C语言实现常见的数据结构
  • 计算机毕业设计 数字化农家乐管理平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 发票OFD格式转换成PDF
  • Java 使用递归方法遍历B站下载文件并解析重命名
  • Linux(ubuntu)(文件IO——fopen)
  • C++ | C++中与const相关的权限放大和缩小详解
  • 【医疗大数据】基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析
  • Spring(三)Spring事件+计划任务+条件注解+SpringAware
  • 开源网安多城联动、多形式开展网安周公益活动,传播网络安全知识
  • 中断-MCU
  • HTML粉色烟花秀
  • python新手的五个练习题