http://rapapi.org/org/index.do
Springboot+Gradle+Swagger2构建API:
一、引入依赖
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile('org.projectlombok:lombok:1.16.16')
compile('org.springframework.boot:spring-boot-starter-data-mongodb')
compile('io.springfox:springfox-swagger2:2.6.1')
compile('io.springfox:springfox-swagger-ui:2.6.1')
}
二、新建配置
@Configuration //表明它是一个配置类
@EnableSwagger2 //开启swagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.forezp.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger构建api文档")
.description("swagger构建api文档")
.termsOfServiceUrl("http://")
.version("1.0")
.build();
}
}
三、写生产文档的注解
swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。
https://blog.csdn.net/xupeng874395012/article/details/68946676
- @Api:修饰整个类,描述Controller的作用
- @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数描述
- @ApiModel:用对象来接收参数
- @ApiProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiParamImplicitL:一个请求参数
- @ApiParamsImplicit 多个请求参数
@RestController
@RequestMapping(value = "/sw")
@Api("Swagger+Springboot搭建API")
public class CustomerSwaggerController {
// @Api:修饰整个类,描述Controller的作用
// @ApiOperation:描述一个类的一个方法,或者说一个接口
// @ApiParam:单个参数描述
// @ApiModel:用对象来接收参数
// @ApiProperty:用对象接收参数时,描述对象的一个字段
// @ApiResponse:HTTP响应其中1个描述
// @ApiResponses:HTTP响应整体描述
// @ApiIgnore:使用该注解忽略这个API
// @ApiError :发生错误返回的信息
// @ApiParamImplicitL:一个请求参数
// @ApiParamsImplicit 多个请求参数
@ApiOperation(value="获用户详细信息", notes="根据url的id来获取详细信息")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "Long",paramType = "path")
@RequestMapping(value="/getUser/{id}", method=RequestMethod.GET)
public User getBook(@PathVariable int id) {
//@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。//配置url和方法的一个关系@RequestMapping("item/{itemId}")
User user=new User();
user.setId(id);
user.setAge(29);
user.setName("springboot");
return user;
}
}
三、启动工程
浏览器输入http://localhost:8080/swagger-ui.html
输入Value,点击try it out, 就能在下方看到response
swagger生态圈