swagger使用
- Springboot項目
- 版本2.7.0
- pom文件引入
<!--swagger2 集成-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
- 添加java配置
@EnableSwagger2
@Configuration
public class Swagger2Config {
/**
* Swagger2參數詳解
*
* @Api:修飾整個類,描述Controller的作用
* @ApiOperation:描述一個類的一個方法,或者說一個接口
* @ApiParam:單個參數描述@ApiModel:用對象來接收參數
* @ApiProperty:用對象接收參數時,描述對象的一個字段
* @ApiResponse:HTTP響應其中1個描述
* @ApiResponses:HTTP響應整體描述
* @ApiIgnore:使用該註解忽略這個API
* @ApiError:發生錯誤返回的信息
* @ApiImplicitParam:一個請求參數
* @ApiImplicitParams:多個請求參數
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//爲當前包路徑
.apis(RequestHandlerSelectors.basePackage("com.hege.demo.controller"))
.paths(PathSelectors.any())
.build();
}
//構建 api文檔的詳細信息函數
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//頁面標題
.title("demo服務接口開發文檔")
//創建人
.contact(new Contact("Maple", "", "[email protected]"))
//版本號
.version("1.0")
//描述
.description("demo服務接口開發文檔")
.build();
}
}
- Controller使用
@RestController
@RequestMapping("/coreCategory")
@Api(tags = "基礎數據管理")
public class CoreCategoryController {
@Autowired
private ICoreCategoryService coreCategoryService;
@ApiOperation(value = "查看基礎數據")
@GetMapping("/list")
public R getList(Page<CoreCategory> page, CoreCategory coreCategory) {
Page<CoreCategory> pageData = coreCategoryService.getList(page, coreCategory);
return R.ok(pageData);
}
}
請求地址:http://127.0.0.1:8088/swagger-ui.html
- Bean使用
@Data
@TableName("core_category")
@ApiModel(value = "CoreCategory對象", description = "基礎數據-系統基礎數據表")
public class CoreCategory {
@ApiModelProperty(value = "主鍵id")
@TableId(value = "id", type = IdType.UUID)
private String id;
@ApiModelProperty(value = "父級id(僅多級顯示的時候使用)")
@TableField("parent_id")
private String parentId;
}
swagger2漢化
- SpringBoot項目
- 版本:2.7.0
- 在resourece目錄下創建\META-INF\resourece目錄,然後創建一個名稱爲"swagger-ui.html" 的HTML文件
- 將以下內容放置html內部
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link rel="icon" type="image/png" href="webjars/springfox-swagger-ui/images/favicon-32x32.png" sizes="32x32"/>
<link rel="icon" type="image/png" href="webjars/springfox-swagger-ui/images/favicon-16x16.png" sizes="16x16"/>
<link href='webjars/springfox-swagger-ui/css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/reset.css' media='print' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/print.css' media='print' rel='stylesheet' type='text/css'/>
<script src='webjars/springfox-swagger-ui/lib/object-assign-pollyfill.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery-1.8.0.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery.slideto.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery.wiggle.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/handlebars-4.0.5.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/lodash.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/backbone-min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/swagger-ui.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jsoneditor.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/marked.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/swagger-oauth.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/springfox.js' type='text/javascript'></script>
<!-- 加入國際化的js -->
<script src="webjars/springfox-swagger-ui/lang/translator.js" type="text/javascript"></script>
<script src="webjars/springfox-swagger-ui/lang/zh-cn.js" type="text/javascript"></script>
</head>
<body class="swagger-section">
<div id='header'>
<div class="swagger-ui-wrap">
<a id="logo" href="http://swagger.io"><img class="logo__img" alt="swagger" height="30" width="30"
src="webjars/springfox-swagger-ui/images/logo_small.png"/><span
class="logo__title">swagger</span></a>
<form id='api_selector'>
<div class='input'>
<select id="select_baseUrl" name="select_baseUrl"/>
</div>
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl"
type="text"/></div>
<div id='auth_container'></div>
<div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>
</form>
</div>
</div>
<div id="message-bar" class="swagger-ui-wrap" data-sw-translate> </div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body>
</html>