You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用含oneOf属性的Swagger生成Spring可用模型的解决方案咨询

缺失的配置补充

你当前的配置只关闭了旧版判别器逻辑,缺少oneOf多态模型生成的核心开关,把spring-config.json的内容替换为以下配置即可:

{
  "legacyDiscriminatorBehavior": false,
  "interfaceModel": true,
  "oneOfInterface": true,
  "jackson": true
}

各配置项作用:

  • interfaceModel:开启接口形式的模型基类生成,适配多态场景
  • oneOfInterface:专门针对oneOf属性触发接口生成逻辑,所有oneOf包含的子模型会自动实现该公共接口
  • jackson:自动生成Jackson多态序列化注解,适配Spring默认的JSON序列化/反序列化规则

更简单的替代方案

如果调整配置后仍无法符合预期,可选择两种更易用的方案:

  1. 生成器替换为spring-boot类型,该生成器针对Spring Boot场景做了专门适配,oneOf支持逻辑更成熟,修改生成命令即可:
java -jar .\openapi-generator-cli.jar generate -i ./swagger.json -o ./spring-gen -g spring-boot -c .\spring-config.json
  1. 放弃代码生成工具,直接使用SpringDoc的原生注解实现oneOf逻辑,在模型类上添加@Schema(oneOf = {子模型1.class, 子模型2.class}),配合Jackson多态注解即可实现相同效果,灵活度更高、不需要额外工具依赖。

内容的提问来源于stack exchange,提问作者Gregor Sklorz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:00:03