好用的接口文档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类的接口路由信息:

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

总之就是很方便的。

大概就是这样了。

相关推荐
biyezuopinvip9 小时前
基于Spring Boot的投资理财系统设计与实现(任务书)
java·spring boot·vue·毕业设计·论文·任务书·投资理财系统设计与实现
逆境不可逃9 小时前
【除夕篇】LeetCode 热题 100 之 189.轮转数组
java·数据结构·算法·链表
七夜zippoe9 小时前
告别SQL恐惧症:我用飞算JavaAI的SQL Chat,把数据库变成了“聊天室”
java·数据库·sql·ai·javaai
心本无晴.10 小时前
RAG检索优化:文本分块策略如何大幅提升检索准确度
java·linux·服务器
西门吹雪分身10 小时前
K8S之Ingress
java·容器·kubernetes·k8s
无名之逆10 小时前
你可能不需要WebSocket-服务器发送事件的简单力量
java·开发语言·前端·后端·计算机·rust·编程
Remember_99310 小时前
一文吃透Java WebSocket:原理、实现与核心特性解析
java·开发语言·网络·websocket·网络协议·http·p2p
沙白猿11 小时前
【TJXT】Day3
java·开发语言
百锦再11 小时前
Java的TCP和UDP实现详解
java·spring boot·tcp/ip·struts·spring cloud·udp·kafka