作为后台开发人员,在进行controller接口调试的时候,每次都用postman或者在xml文本里写form表单进行请求,比较麻烦,后来发现用swagger可以大大的简化这一过程,现将springboot如何集成进行一下记录。
1、何为swagger
Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。
2、springboot如何集成swagger
2.1先新建一个springboot工程
可参考上一篇博客:idea创建springboot工程: https://blog.csdn.net/u014429653/article/details/84726466;
eclipse创建springboot工程:https://blog.csdn.net/u014429653/article/details/84722029
2.2创建controller接口,可在浏览器访问
2.2引入swagger对应的jar包
<!--对swagger-ui的支持-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
2.3编写配置文件
@Configuration
@EnableSwagger2
public class SwaggerConfig {
//是否开启swagger,正式环境一般是需要关闭的,可根据springboot的多环境配置进行设置
@Value(value = "${swagger.enabled}")
Boolean swaggerEnabled;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
// 是否开启
.enable(swaggerEnabled).select()
// 扫描的路径包
.apis(RequestHandlerSelectors.basePackage("com.example.springbootdemo.controller"))
// 指定路径处理PathSelectors.any()代表所有的路径
.paths(PathSelectors.any()).build().pathMapping("/");
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("SpringBoot-Swagger2集成和使用-demo示例")
.description("wuKong")
// 作者信息
.contact(new Contact("wuKong", "https://blog.csdn.net/u014429653", "邮箱"))
.version("1.0.0")
.build();
}
}
2.4添加文档内容(一般在Controller请求参数上进行注解)
在类名上添加注释@Api(tags = “TestController”, description = “测试接口相关”)
在方法名上添加注释@ApiOperation(value = “进行打招呼户测试”, notes = “请求返回打招呼的字符串”)
2.5访问本地swagger地址
http://localhost:8080/swagger-ui.html#/
点击execute可发起请求
2.6往后台传入参数
使用@RequestParam注解
注意:
在方法名上需注释请求类型method = RequestMethod.GET,否则swagger页面会生成所有的请求类型
@RequestMapping(value = “/hello1”, method = RequestMethod.GET)