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

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

总之就是很方便的。

大概就是这样了。

相关推荐
迅猛龙办公室7 分钟前
python实现简单进度条
java·前端·python
斯内普吖12 分钟前
(开源)宠物饲养系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源·宠物
知守观16 分钟前
Spring Boot 2.1 → 3.5 迁移推演:这个 2018 年的项目会炸在哪
java·spring boot
Flynt19 分钟前
800KB 的 JSON 吃掉 8.5 秒 CPU:jackson 这波修复里,最容易被漏掉的洞藏在字符串里
java·安全
后端LV20 分钟前
Caffeine 快到 1450 万 ops/s,为什么我还是不敢说数据一致
java·后端
蜗牛互联网25 分钟前
Java 17调用Embeddings API:余弦相似度与FAQ拒答阈值
java·开发语言·人工智能
Q26433650231 小时前
【有源码】基于SpringBoot+Vue的博物馆展览与服务一体化平台-java博物馆数字化展品展示与交互平台设计
java·vue.js·spring boot·spring·毕业设计·javaweb·课程设计
guo_wen_qiang1 小时前
项目使用sentinel遇到的问题
java·sentinel
CarIise1 小时前
IDEA与Maven基础课堂笔记
java·intellij-idea·caffe
小溪学编程1 小时前
C语言篇:枚举类型
java·c语言·前端