欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单搭建swagger2

程序员文章站 2022-05-13 08:16:40
...

最近使用接口开发,没有页面调试,使用postMan感觉不太方便,所以搭建一个swagger提供接口,话不多说,直接步骤

一、pom文件集成swagger2的jar包

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

二、配置类

因为笔者是springboot开发,所以在springboot启动类同级编写swagger2的配置类

简单搭建swagger2

package com.jhsec;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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 springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by mc on 2019/7/18.
 */
@Configuration
@EnableSwagger2
public class Swagger2 {
    @Bean
    public Docket createRestApi() {

        //在配置好的配置类中增加此段代码即可 ====消息头部分
        ParameterBuilder ticketPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        ticketPar.name("X-Auth-Code").description("Header")//name表示名称,description表示描述
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(true).defaultValue("HFsgOo%7992gJ*RdlIhdcgV*qTfBivJQmp").build();//required表示是否必填,defaultvalue表示默认值
                pars.add(ticketPar.build());//添加完此处一定要把下边的带***的也加上否则不生效

        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo()).select()
                .apis(RequestHandlerSelectors.basePackage("com.jhsec"))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(pars);//************把消息头添加;
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("hf ifc APIs")
                .description("api test")
                .termsOfServiceUrl("http://localhost:8080/swagger-ui.html")
                .contact("machao")
                .version("1.0")
                .build();
    }


}

注意:这里的参数详解可自行查询

三、控制层配置

注意:因为笔者的控制层复合开发规范所以没有进行配置。swagger就能自动识别,当然也可以自行参考。

简单搭建swagger2

四、javabean 的配置。笔者略过。因为可配可不配

五、在浏览器访问 http://localhost:8080/swagger-ui.html 就可以访问了

大体就这些