swagger是一个restful接口的文档自动生成和功能测试的框架
swagger是一个规范和完整的框架,用于生成、描述、调用和可视化restful风格的web服务
springcloud 快速集成
在用户微服务集成swagger
在user-demo,pmo.xml中
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.0.RELEASE</version>
</dependency>
添加配置类 SwaggerConfig
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("sise.cn.controller"))
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("用户系统api")
.description("用户系统接口文档说明")
.contact(new springfox.documentation.service.Contact("一点课堂","http://www.yidiankt.com","wyyx6ms@163.com"))
.version("1.0")
.build();
}
}
在usercontroller中添加注解
//提共restful风格的Controller -
@RestController
@Api("用户接口")
public class UserController {
@Value("${server.port}")
int port;
@ApiOperation(value = "返回用户信息",notes = "根据id返回数据")//功能描述
@ApiImplicitParam(name = "id",value = "用户id",required = true)//实现的参数,名字,值,是否必要,类型
@RequestMapping("/user/{id}")
public String getUser(@PathVariable("id") int id) {
if (id == 1) {
return "库里" +port;
} else if (id == 2) {
return "科比" +port;
} else {
return "姚明" +port;
}
}}
在启动类中开启
@EnableSwagger2
访问地址:user的端口
http://localhost:8844//swagger-ui.html#/