- 引入jar
<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>
- 添加配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* 配置扫描路径
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.zxl.swagger_demo.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* API的基本信息
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("测试DEMO")
.description("测试DEMO")
.termsOfServiceUrl("http://www.baidu.com")
.version("v1.0")
.build();
}
}
- 实体类
@ApiModel(description = "用户类")
@Data
public class UserVO {
@ApiModelProperty(required = true, value = "用户姓名", example = "张三", position = 1)
private String name;
@ApiModelProperty(required = true, value = "性别", example = "1", notes = "1:男 2:女", position = 2)
private Integer sex;
}
- 接口
@RequestMapping("/test")
@RestController
@Api("测试模块")
public class TestController {
@ApiOperation(value = "测试接口", notes = "输入用户名,输出用户信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "name", value = "姓名", required = true, dataType = "String", paramType = "query")
})
@RequestMapping("/tt")
public UserVO test( String name) {
UserVO userVO = new UserVO();
userVO.setName(name);
userVO.setSex(1);
return userVO;
}
@ApiOperation(value = "测试接口2", notes = "输入用户名信息,输出用户信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "userVO", value = "用户信息", required = true, dataType = "String"),
})
@RequestMapping("/tt2")
public UserVO test2(@RequestBody UserVO userVO) {
return userVO;
}
}
- 访问页面进行请求http://localhost:8080/swagger-ui.html#/
- 如果嫌页面不是很友好,那么可以引入jar
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.6</version>
</dependency>
- 访问页面进行请求http://localhost:8080/doc.html#/