Spring Cloud 集成Swagger 2.9 ui 2.2.2
- 新建項目
- pom加依賴
<code> <dependency>
\t<groupid>io.springfox/<groupid>
\t\t<artifactid>springfox-swagger2/<artifactid>
\t\t<version>2.9.2/<version>
/<dependency>
<dependency>
<groupid>io.springfox/<groupid>
<artifactid>springfox-swagger-ui/<artifactid>
<version>2.2.2/<version>
/<dependency>/<code>
<code>import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// 需要展示文檔的包路徑
.apis(RequestHandlerSelectors.basePackage("com.example.security"))
.paths(PathSelectors.any())
.build();
}
//構建api文檔的詳細信息函數
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//頁面標題
.title("Test測試Swagger")
//創建人
.contact(new Contact("xxx", "http://www.xxx.com", "[email protected]"))
//版本號
.version("1.0")
//描述
.description("API 描述")
.build();
}
}/<code>
- 新建TestController.java
<code>@Api(value = "測試swagger2文檔")
@RestController
public class TestController {
@ApiOperation(value = "專用於測試使用", notes = "備註")
@ApiImplicitParam(name = "name", value = "名稱", paramType = "path", required = true, dataType = "String", example = "你爸爸")
@ApiResponses({
@ApiResponse(code = 500, message = "內部程序錯誤"),
@ApiResponse(code = 400, message = "請求無效"),
@ApiResponse(code = 200, message = "請求成功"),
@ApiResponse(code = 404, message = "你懂得")
})
@GetMapping("/test")
public String test(String name) {
return "我是測試Swagger2" + name;
}
@ApiOperation(value = "測試請求", notes = "備註")
@ApiImplicitParam(name = "name", value = "參數1", paramType = "path", required = true, dataType = "String", example = "你媽媽")
@ApiResponses({
@ApiResponse(code = 500, message = "內部程序錯誤"),
@ApiResponse(code = 400, message = "請求無效"),
@ApiResponse(code = 200, message = "請求成功"),
@ApiResponse(code = 404, message = "你懂得")
})
@GetMapping("/test1")
public String test1(@RequestParam String name) {
return "我是測試Swagger2" + name;
}
}/<code>
- 啟動程序,根據啟動的端口訪問
<code>http://localhost:5003/swagger-ui.html
點擊頁面的TestController文字/<code>
- 備註
<code>參數介紹
@EnableSwagger2 @Configuration
配置類需要添加的註解,聲明為Swagger
@ApiOperation
指定接口方法的說明,如果方法不加此註解,說明默認為方法名稱
@ApiImplicitParams @ApiImplicitParam
接口詳細描述的參數信息
其中 ApiImplicitParam 為具體的參數,裡面的配置 paramType 需要注意:
paramType代表參數放在哪個地方
header-->請求參數的獲取:@RequestHeader
query-->請求參數的獲取:@RequestParam
path(用於restful接口)-->請求參數的獲取:@PathVariable
body(不常用)
form(不常用)
@ApiResponses
接口返回信息描述/<code>
閱讀更多 默默學習 的文章