好用的接口文档swagger

本篇文章记录怎么给我们的后端项目整一个好用的接口文档

这个东西好像叫什么swagger吧

1. 依赖引入:

xml 复制代码
		<dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
        </dependency>

2. 配置类编写

java 复制代码
/**
 * 配置类,注册web层相关组件
 */
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
    /**
     * 通过knife4j生成接口文档
     * @return
     */
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("后端接口文档")
                .version("1.0")
                .description("后端接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.game.server.controller"))
                //com.codehome.server.controller是我的controller包的地址哦
                .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/");
    }

    /**
     * 消息转换器
     */
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters){
        log.info("开始扩展消息转换器");
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        converter.setObjectMapper(new JacksonObjectMapper());

        converters.add(0,converter);
    }
}

.apis(RequestHandlerSelectors.basePackage("com.game.server.controller"))中,

com.game.server.controller是你自己的controller的包路径

3. 启动

启动项目即可

4. 查看接口文档

这个接口文档就会展示controller包里对应controller类的接口路由信息:

同时这个接口文档也很方便,方便测试什么的:

总之就是很方便的。

大概就是这样了。

相关推荐
damoluomu几秒前
Node 的 Headless 出厂没有前台,Java 的 Headless 是从门户里长出来的
java·开发语言·node.js
我命由我123456 分钟前
Python 实用操作 - 文件操作(打开与关闭文件、读取文件、文件写入)
java·开发语言·前端·javascript·数据库·python·java-ee
学长毕设44 分钟前
基于SpringBoot的网上流浪狗救助捐赠平台-附源码
java·spring boot·后端
VimorphTech1 小时前
文本已经改了,旧的音频生成结果还能回写吗?
java·数据库·mybatis
SL_staff1 小时前
BI项目90%失败?JVS三阶闭环实践:从数据打通到业务嵌入的技术路径
java·开源·全栈
aiks_yuan1 小时前
一个端口能被两个程序同时监听吗:SO_REUSEADDR、SO_REUSEPORT Java 实测和 Spring Boot 端口被占照样启动的坑
java
雷✘1 小时前
C++ 类与对象的初始化机制、成员访问边界与拷贝优化
java·网络·c++
JOEH601 小时前
为什么你的消息队列总是丢消息?Java 后端 5 个经典坑
java·架构
程序员敲笔记1 小时前
Spring IoC 容器底层实现原理与 Bean 生命周期实战
java
niuyueyang2 小时前
MCP `/mcp/status` Lifecycle 技术方案
java·服务器·数据库