java swagger -代码生成器:如何在字符串中填充JSON blob

7lrncoxx  于 2022-12-02  发布在  Java
关注(0)|答案(1)|浏览(141)

bounty将在6天后过期。回答此问题可获得+500的声望奖励。Emmanuel希望吸引更多人关注此问题:将接受使用codegen命令选项使此工作的解决方案。

我使用一个swagger yaml文件来定义我的API并从中生成Java代码。

SomeStructure:
  type: object
  properties:
    field1:      
      type: string
      required: true
    field2:
      type: string
      required: true
    field3:
      type: string
      additionalProperties: {}

现在,一旦API代码生成完成,我希望第三个字段将任何指定的JSON结构扁平化为一个JavaString。
例如,对于如下输入:

{
    "field1":"value1",
    "field2":"value2",
    "field3":{
        "subvalue1":"subvalue1",
        "subvalue2":"subvalue2"
  }
}

我想把它Map到一个字符串,包含:

{"subvalue1":"subvalue1","subvalue2":"subvalue2"}

我尝试使用任意多边形指标'{}',但显然不起作用。是否可行?如何执行?

yk9xbfzb

yk9xbfzb1#

看起来您希望field3属性的类型为string,但也希望能够包含JSON数据。在这种情况下,您可以将field3属性的format指定为json

SomeStructure:
  type: object
  properties:
    field1:      
      type: string
      required: true
    field2:
      type: string
      required: true
    field3:
      type: string
      format: json

这将告诉代码生成器,field3属性应该是string类型,但在生成代码时应将其视为JSON对象。这将导致JSON数据存储在Java String对象中。

相关问题