基于springboot配置swagger

3步走:

1.添加坐标(pom.xml)

<!--swagger相关maven坐标-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
<!--swagger-bootstrap-ui为了展示更好看,可以不添加-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.7.2</version>
</dependency>

2.编写Swagger配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {

/** 开放接口 */
public static final String TAG_TEST = "test";
/** 认证接口 */
public static final String TAG_AUTH = "auth";
/** 管理管理**/
public static final String TAG_MANAGE="manage";

@Bean
public Docket petApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()).tags(
new Tag(TAG_TEST,"测试接口"),
new Tag(TAG_AUTH,"认证接口"),
new Tag(TAG_MANAGE,"管理接口")
)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.resttemplateclent.controller")) //指定提供接口所在的基包
.build();
}

/**
* 该套 API 说明,包含作者、简介、版本、host、服务URL
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("RestTemplate测试 说明")
.version("1.0")
.termsOfServiceUrl("localhost:8080/demo1/")//公司官网
.build();
}

3.编写Controller

@RestController
@Api(tags = SwaggerConfig.TAG_TEST)
@RequestMapping(SwaggerConfig.TAG_TEST)
public class TestController {

private static final String URL = "http://127.0.0.1:6666/";

@Autowired
RestTemplate restTemplate;

@PostMapping("template")
@ApiOperation(value = "测试RestTemplate", notes = "RestTemplate测试")
public String testRestTemplate(){
String requestUrl = "test/getString";
String response = restTemplate.getForObject(URL + requestUrl, String.class);
return response;
}
}

另附: Swagger常用注解

在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下:

@Api:修饰整个类,描述Controller的作用

@ApiOperation:描述一个类的一个方法,或者说一个接口

@ApiParam:单个参数描述

@ApiModel:用对象来接收参数

@ApiModelProperty:用对象接收参数时,描述对象的一个字段

@ApiResponse:HTTP响应其中1个描述

@ApiResponses:HTTP响应整体描述

@ApiIgnore:使用该注解忽略这个API

@ApiError :发生错误返回的信息

@ApiImplicitParam:一个请求参数

@ApiImplicitParams:多个请求参数

01-13 15:57