coding喵
2019-08-21 16:54:47
springboot集成SwaggerBootstrapUI文档
1.导包
由于是基于swagger的需要先引入swagger包
<!--引入swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <!--引入swagger ui包--> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.3</version> </dependency>
2.新建Swagger配置类
import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * @Description Swagger文档 * @Author thcoding * @Date 2019/5/23 **/ @Configuration @EnableSwagger2 @EnableSwaggerBootstrapUI public class SwaggerConfiguration { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.xxx.group")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("xxxxxxx接口管理文档") .description("xxxx接口管理文档") .termsOfServiceUrl("http://127.0.0.1:8080/") .contact(new Contact("coding喵","","thcoding@163.com")) .version("1.0") .build(); } }
- @Configuration:声明配置文件 - @EnableSwagger2:开启Swagger2 - @EnableSwaggerBootstrapUI:开启SwaggerBootstrapUI
- basePackage:声明主包 - title:文档名称 - 团队访问网址:termsOfServiceUrl - 账号信息:Contact - version:版本
3.常用注解
@ApiModel(value = "xxx",description = "xxx")
- 用于实体类上,value=实体类名称,description用于描述实体类
代码示例:
@ApiModelProperty(value = "xx")
- 用于描述字段
代码示例:
@Api(tags = "xxx")
- 用于描述控制器Controller,即xx管理
代码示例:
@ApiOperation(value="xx",notes = "xx")
- 用于描述控制器内单个方法,value=方法名称,notes描述方法
代码示例:
4.文档访问
在浏览器输入:http://${host}:${port}/${项目服务主路径}/doc.html
5.文档效果图:
5.1主页
5.2实体对象展示
5.3接口出参及入参展示
5.4接口出参及入参展示
6.一些说明
SwaggerBootstrapUI只是基于Swagger,用于文档页面美化,方便前后端查看的工具。 我在这里提供的注解不多,主要是我认为代码中还是少写点汉字,或是对逻辑无用的代码,以免造成代码冗余,这里的注解是我自己准备常用的注解。 对于该ui,我自己依然有些未解决的问题,比如,生产环境中如何限制对文档的访问?这个我看了官方文档,写了配置也没起作用,暂时也无时间去深究。 由于版本的问题,有些地方可能会不太一样,比如文档访问路径,有的版本是http://${host}:${port}/doc.html 后续遇到相关问题我会陆续补充
评论
最近浏览
jialinzzz
2022年6月7日
暂无贡献等级
likeOkd LV1
2022年3月11日
fangrongwu
2022年3月9日
暂无贡献等级
liuJian2414 LV5
2022年3月2日
PKanor LV3
2021年12月31日
sjd123 LV4
2021年11月5日
流叶lsc
2021年8月24日
暂无贡献等级
yujiaqi
2021年7月28日
暂无贡献等级
lmr867015531
2021年7月9日
暂无贡献等级
喜欢夜雨吗 LV4
2021年6月24日