使Swagger在生成的模型中使用原始int和boolean

ala*_*mar 7 java primitive spring-mvc swagger

默认情况下,对于JSON规范中的"type":"boolean",Swagger将Boolean在模型中生成(对象,非原始,可为空)字段.有没有办法让Swagger boolean在模型中生成(原始的,不可为空)字段?

基本原理是:Spring MVC将使用null无效输入初始化这些字段,这是不可取的.最好保留默认值.

intvs 相同的问题Integer.

注意:Swagger有自己的"原始"类型概念,它与Java原语完全无关,而不是我所寻求的.

Dmi*_*ich 9

似乎这是不可能的.

我看了看swagger-corespringfox(扬鞭为基于Spring API).我所做的就是找到转换/翻译原始类型的源代码.

所以swagger-core我发现了PrimitiveType枚举.如您所见,没有提到原始Java类型,所有swagger类型都映射到Java包装器.考虑到这个枚举在内部使用并且无法替换(除非你制作自己的版本),我认为不可能改变这种类型的解析行为.

相同的springfox.我发现TypeNameExtractor使用fasterxmlTypeResolver类可以解析类型.该类反过来用于ResolvedPrimitiveType获取类型映射.正如你所看到的,类型解析也足够深,所以我想也无法以某种方式改变它.

希望您发现我的发现很有帮助.