spring boot使用swagger简明笔记

1、什么是swagger

swagger就是一个在你写接口的时候自动帮你生成接口文档的东西,只要你遵循它的规范并写一些接口的说明注解即可。

本文springboot版本:2.5.6

2、引入依赖

		
		<dependency>
			<groupId>io.springfoxgroupId>
			<artifactId>springfox-swagger2artifactId>
			<version>2.9.2version>
		dependency>
		
		<dependency>
			<groupId>io.springfoxgroupId>
			<artifactId>springfox-swagger-uiartifactId>
			<version>2.9.2version>
		dependency>

3、编写配置类


@Configuration
@EnableSwagger2
public class SwagerrConfig { 
    //配置了Swagger 的Docket的bean实例
    @Bean
    public Docket docket(){ 
        ParameterBuilder ticketPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<>();
        ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(false).build(); //header中的ticket参数非必填,传空也可以
        pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置什么参数

        return new Docket(DocumentationType.SPRING_WEB)
                .apiInfo(apiInfo())
                .select()
                //RequestHandlerSelectors, 配置要扫描接口的方式
                //basePackage:指定要扫描的包
                //any():扫描全部
                //withClassAnnotation: 扫描类上的注解
                //withMethodAnnotation: 扫描方法上的注解

                
                //这里改成你的 com.fd.demo.Controller 
                .apis(RequestHandlerSelectors.basePackage("com.fd.demo.Controller"))
                .build()
                .globalOperationParameters(pars);
    }

    //配置Swagger 信息=apiInfo
    private ApiInfo apiInfo(){
        //作者信息  姓名,主页,邮件
        Contact contact=new Contact("Fang","url","email");

        return new ApiInfo(
                "我是swagger的标题啊",
                "我是swagger的描述信息",
                "v1.0",//
                "http:127.0.0.1/",
                contact,//作者信息对象
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        );
    }


}

4、拦截器配置(如果有)

配置放行例外

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //添加拦截器方法 传入我们自己的拦截器
        registry.addInterceptor(new xxx())
                .addPathPatterns("/**") //拦截规则 所有
                .excludePathPatterns("/api/user/login") //例外规则
                .excludePathPatterns("/swagger-resources/**") //下面的例外规则,是swagger的
                .excludePathPatterns("/webjars/**")
                .excludePathPatterns("/v2/**")
                .excludePathPatterns("/swagger-ui.html/**");
    }
}

5、访问swagger

访问:http://localhost:8080/swagger-ui.html
即可看到swagger的UI页面了!!
spring boot使用swagger简明笔记_第1张图片

你可能感兴趣的:(SpringBoot,spring,boot,笔记,java)