API文档工具-swagger

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生态圈


猜你喜欢

转载自blog.csdn.net/jonwu0102/article/details/79976307