Maven包
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox-swagger-ui.version}</version>
</dependency>
创建configuation对象
package com.project.automationplatform.configuration;
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 {
public static final String SWAGGER_SCAN_BASE_PACKAGE = "com.project.automationplatform.controller";
public static final String VERSION = "1.0.0";
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("automation-platform")
.apiInfo(apiInfo())
.enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("自动化测试平台")
.description("自动化测试平台API接口文档")
.contact(new Contact("KevinZhu", "", "zhukaiyu@jd.com"))
.version(VERSION)
.build();
}
}
使用
- model层
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@Data
@TableName(value = "testcase_automation")
@ApiModel(value="测试用例表", description="自动化测试用例步骤详情储存表")
@ToString(callSuper=true, includeFieldNames=true)
@AllArgsConstructor
@NoArgsConstructor
public class TestCaseTemplate implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "测试用例属于的应用")
@TableField(value = "test_case_app")
private String testCaseApp;
@ApiModelProperty(value = "测试用例编号", required=true)
@TableId(value = "test_case_id")
private String testCaseID;
}
- controller层
@Api(value = "自动化测试平台API接口")
@RestController
@RequestMapping("/api/testCase")
public class TestCaseTemplateController {
@ApiOperation(value = "通过TestCaseId获取测试用例详情")
@RequestMapping(value = "/querySteps",method= RequestMethod.GET)
public ResponseResult getTestCaseInfo(@RequestParam(value="testCaseID") String testCaseID) {
}
- 启动应用后, 打开网页:
http://localhost:8095/swagger-ui.html
端口是应用端口