springboot-springfox

2017-06-18  本文已影响103人  Poseidon_Wang
swagger文档规范的使用

作者一开始使用springfox接入springmvc,但是配置有点复杂。后来转到springboot后相对来讲配置相对较少,下面来讲讲springfox的介入(此插件遵循swagger规范)

pom插件引入

<pre>

  <!-- swagger -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>${swagger.version}</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>${swagger.version}</version>
    </dependency>

</pre>
具体版本可参考maven仓库

SwaggerConfig

<pre>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.useDefaultResponseMessages(false);

}

private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
            .title("document api")
            .description("swagger style")
            .version("1.0.0")
            .build();
}

}
</pre>
注意的点@EnableSwagger2以及apiinfo()里面的信息都是显示在api文档里面用来提醒用户的。

最后具体的接口配置

@Api这个用来标记controller的内部有description用来显示整个controller的内容
@ApiOperation 默认value属性,提示这个接口的操作,可以写入接口方法,数据,头信息,具体可参考官方文档
@ApiImplicitParam 添加在方法上可以提示参数的类型,说明,note属性需添加
@ApiImplicitParams 由多个@ApiImplicitParam组成
@ApiResponse 接口返回信息提示需配置code,message,response等属性
@ApiResonses 由多个@ApiResponse组成
@ApiParam 对单个参数进行注解
@ApiModule 配置需要说明的类型,需要写value属性才能正确显示
@ApiModuleProperty 字段说明

总结

由于无法上传图片就不贴效果图了,最后访问swagger-ui.html就可以了
SpringMvc内配置比较麻烦 需要用对资源进行拦截,要下载swagger的资源修改内部的/v2/api-docs链接,相对较为麻烦,有兴趣的同学也可以研究一下

上一篇 下一篇

猜你喜欢

热点阅读