swagger2初步使用

     天天写接口文档烦死了,所以用了swagger2 以减少写文档的时间。


1.引入maven包

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
  </dependency>
  <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
  </dependency>

 2.配置bean

[html] view plain copy
  1. package com.pobo.pbsimu.opcontest.config;


    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.ParameterBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.schema.ModelRef;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.service.Parameter;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import java.util.ArrayList;
    import java.util.List;


    @Configuration
    public class Swagger2Config extends WebMvcConfigurerAdapter {
        //@Value("${swagger2.enable: false}")
        private boolean swagger2Enable = false;


        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("swagger-ui.html")
                    .addResourceLocations("classpath:/META-INF/resources/");
        }


        @Bean
        public Docket createRestApi() {
            if (!swagger2Enable) {
                return null;
            }


            ParameterBuilder tokenPar = new ParameterBuilder();
            List<Parameter> pars = new ArrayList<>();
            tokenPar.name("token").description("鉴权令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
            pars.add(tokenPar.build());


            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.pobo.mhall.admin.server.web"))
                    .paths(PathSelectors.any())
                    .build()
                    .globalOperationParameters(pars);


        }


        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("XXX-管理端后台服务")
                    .description("管理端后台服务")
                    .version("1.0")
                    .build();
        }
    }

3.在想要的的类上 和方法上加上注解和描述



启动时添加注解


最后的启动时输入

http://localhost:9444/pbsimu-opcontest/swagger-ui.html

最后的效果如图:




猜你喜欢

转载自blog.csdn.net/qq_40006446/article/details/80283921