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)
相关推荐
蒙娜丽宁1 小时前
深入理解华为仓颉语言的数值类型
开发语言·后端·golang·仓颉
2401_857638031 小时前
Spring Boot框架在高校心理辅导中的实践
java·spring boot·后端
潘多编程1 小时前
Spring Boot和AOP将API输入输出数据存入数据库
数据库·spring boot·后端
DeepCoder_Mx1 小时前
Spring Boot 学习之路 -- 基础认知
spring boot·后端
想进大厂的小王1 小时前
Mybatis基础操作
spring boot·spring·intellij-idea·mybatis
户伟伟2 小时前
设计模式六大原则:面向对象设计的核心
java·后端·设计模式
ChinaRainbowSea2 小时前
十五,Spring Boot 整合连接数据库(详细配置)
java·数据库·spring boot·后端·spring·web
张某布响丸辣2 小时前
Spring Security 详解:保护Java应用的强大盾牌
java·后端·spring
我不会画饼鸭2 小时前
springboot 控制器
java·spring boot·后端
Lill_bin3 小时前
SpringCloud解读
分布式·后端·spring·spring cloud·hystrix·架构