Swagger 中可以接收枚举类型,并且利用枚举的一些特性在swagger ui 上显示出下拉框,单选框,甚至多选框的效果,此外,还讲述在枚举中显示中文。
背景
利用 SpringBoot 可以快速构建 Java 项目,此次构建使用的版本为 1.5.9.RELEASE
项目雏形
实体类
Controller
启动类
项目暴露的 API 如下:
http://localhost:8080/product/type?type=book
集成 swagger2
这里使用最少配置,基于 springfox swagger 版本 2.8.0
添加依赖
Swagger 配置
测试结果
在浏览器中访问 http://localhost:8080/swagger-ui.html,可以查看到 swagger ui 页面。
利用页面的执行功能,可以运行借口进行测试 http://localhost:8080/product/type?type=book。该 API 用来模拟根据商品类型获取商品详细信息。
项目重构
商品的类型是通过 string 字符串来确定的,为了能统一管理,使用 enum 来管理商品类型。
商品类型枚举
商品类改造
Controller 改造
测试结果
在 swagger 页面中,测试 http://localhost:8080/product/type?type=book 接口。
{