最近使用接口開發,沒有頁面調試,使用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的配置類
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就能自動識別,當然也可以自行參考。
四、javabean 的配置。筆者略過。因爲可配可不配
五、在瀏覽器訪問 http://localhost:8080/swagger-ui.html 就可以訪問了
大體就這些