分享一个小工具类(思路)解决swagger文档的小痛点
正常情况
Java在这种注解里面只能使用常量值
但是呢有些时候
我们确实希望在里面写一些动态的值
比如说前两天
在给一个旧项目
维护他的swagger文档时候
我就希望这个allowableValues
是从这个枚举里边
自动读取出来
这些值放进去
但是呢他也没办法写这种动态值
所以今天给大家分享一个思路
和写好的小的工具类啊
就是我们通过注解
我们再写一个注解
在这里啊
写好了叫Enum2AllowableValues
然后呢我们在这里边指定value
然后指定这个枚举
它就行
type class
然后呢
我们还可以指定它用哪个属性
作为它的指像
这个是value
所以呢我们这块儿写method=getValue
好我们再来试一下
把这个删掉
OK我们再试一下
大家看这个值就已经有了
那这块还能这样写
比如说这里边还有一个desc属性
或者往上getDesc
那它生成的就是这样的
我们给大家看一下
c:Add,U:Upadte
就是这样的
那这个思路其实很容易
就是我们把这个注解写好之后呢
写了一个command line runner
就是在项目启动的时候
我们通过大家把这个包名
改成自己的项目的包名啊
然后我们主要是通过反射
取到这个注解的
就是这个schema的memberValues
然后去设置里边儿的allowableValues
然后这个代码呢
我还是会放到这个地方
大家如果需要可以作为参考
最后更新于
这有帮助吗?