隐藏页面特效

后端整合 Swagger + Knife4j 接口文档

1|0接口文档:


个人理解的就是后端提供给前端,供前端查看了解数据结构,是前后端联调的基础。

2|0Swagger + Knife4j:


  1. 引入依赖:
        <!--添加swagger的依赖-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>2.0.7</version>
        </dependency>

2.自定义Swagger配置类

/**
 * @author nami
 */
@Configuration
@EnableSwagger2WebMvc
@Profile({"dev", "test"})
public class SwaggerConfig {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                // 这里一定要标注你控制器的位置
                .apis(RequestHandlerSelectors.basePackage("com.nami404.scaffold.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * api 信息
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Nami404 scaffold")
                .description("Nami404 scaffold接口文档")
                .termsOfServiceUrl("https://github.com/nami404/")
                .contact(new Contact("Nami404","https://github.com/nami404/","xxx@qq.com"))
                .version("1.0")
                .build();
    }
}

3.确定生成接口文档的接口位置
将自己项目中controller路径替换上面代码"com.nami404.scaffold.controller"。

4.注意:线上环境注意不要暴露自己的接口!
通过在SwaggerConfig配置类文件添加注解@Profile({"dev", "test"}),里面的值可以是列表形式,如前面所示;也可以是单独一个字符串,如@Profile("dev")

2|1注意点


如果springboot的版本>=2.6,application.yml配置文件中需要添加如下配置:

spring:
  mvc:
  	pathmatch:
      matching-strategy: ANT_PATH_MATCHER

官方地址:

https://doc.xiaominfo.com/

访问地址路径:http://ip:port/api/doc.html
我的路径:http://localhost:8080/api/doc.html
结果演示:
主页:


__EOF__

本文作者techgy
本文链接https://www.cnblogs.com/techgy/p/17357375.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   AI未来10Y  阅读(104)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2020-04-26 导弹拦截 ---最长子序列
点击右上角即可分享
微信分享提示