首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Swagger在生成的模型中使用原始int和boolean

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

Stack Overflow用户
提问于 2017-07-07 20:01:29
回答 1查看 2.7K关注 0票数 9

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

其基本原理是: Spring MVC将在无效输入上使用null初始化这些字段,这是非常不可取的。最好将它们保留为默认值。

intInteger也有同样的问题。

注意: Swagger有自己的“原始”类型的概念,这与Java基本类型完全无关,也不是我想要的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-12 17:30:41

这似乎是不可能的。

我研究了swagger-corespringfox(Swagger for Spring based API)。我所做的事情就是找到了转换/翻译原语类型的源代码。

所以在swagger-core中我找到了PrimitiveType枚举。正如您所看到的,这里没有提到原始的Java类型,所有的swagger类型都映射到Java包装器。考虑到此枚举在内部使用且不可替换(除非您制作自己的版本),我假设不可能更改此类型解析行为。

springfox中也是如此。我发现TypeNameExtractor使用fasterxmlTypeResolver类来解析类型。这个类反过来使用ResolvedPrimitiveType来获取类型映射。正如你所看到的,类型解析也足够深,所以我想也没有办法以某种方式改变它。

希望我的发现对你有帮助。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44970286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档