Swagger

目录

简介

使用方式:

常用注解


简介

使用Swagger你只需要按照他的规范去定义接口及接口相关信息再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。
官网:https://swagger.io/

knife4j是JavaMVC框架集成Swagger生成Api文档的增强解决方案。

使用方式:

1.导入knife4j的maven坐标(版本如果冲突的话自己用maven helper来exclude一下)


    com.github.xiaoymin
    knife4j-spring-boot-starter
    3.0.2

2.导入knife4j相关配置类(地址一定要写对!!!,挺多坑的)

@Slf4j
@Configuration
@EnableSwagger2
@EnableKnife4j
public class WebMvcConfig extends WebMvcConfigurationSupport {
    //设置静态资源映射
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始进行静态资源映射...");
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    //扩展mvc框架的消息转换器
    @Override
    protected void extendMessageConverters(List> converters) {
        log.info("扩展消息转换器...");
        //创建消息转换器对象
        MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
        //设置对象转换器,底层使用Jackson将Java对象转为json
        messageConverter.setObjectMapper(new JacksonObjectMapper());
        //将上面的消息转换器对象追加到mvc框架的转换器集合中
        converters.add(0,messageConverter);
    }
    //设置扫描包
    @Bean
    public Docket createRestApi(){
        //文档类型
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.flyingpig.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    //文档相关信息
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("uu考勤")
                .version("1.0")
                .description("uu考勤接口文档")
                .build();
    }
}

3.如果有filter,则需要设置不需要处理的请求路径,因为这时程序自动生成文档的静态界面,所以我们要让这些静态资源通行。

常用注解

Swagger_第1张图片

你可能感兴趣的:(swagger,java,javaweb,springboot,knife4j)