Java OpenAPI3:如何在查询中传递json对象数组

Java OpenAPI3:如何在查询中传递json对象数组,java,openapi,openapi-generator,Java,Openapi,Openapi Generator,我应该在一次休息手术中通过学生名单。学生名单定义如下: - name: student-list in: query description: Id of the Student of the target NF content: application/json: schema: type: array

我应该在一次休息手术中通过学生名单。学生名单定义如下:

- name: student-list
              in: query
              description: Id of the Student of the target NF
              content:
                application/json:
                  schema:
                    type: array
                    items:
                      $ref: 'TS29571_CommonData.yaml#/components/schemas/StudentId'
                    minItems: 1
其中每个项目的定义如下:

StudentId:
      type: object
      properties:
        class:
          type: string
        rollno:
          type: integer
根据上面的表示,我应该传递StudentId json数组(style=form,explode=true)。
根据OpenAPI生成器生成的代码,需要学生列表的操作将迭代列表中的每个学生ID。对于每个StudentId,它调用toString方法来生成json表示StudentId对象
StudentId对象具有以下toString方法:

@Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class StudentId {\n");
    sb.append("    class: ").append(toIndentedString(mcc)).append("\n");
    sb.append("    rollno: ").append(toIndentedString(mnc)).append("\n");
    sb.append("}");
    return sb.toString();
   }
ToIndendedString方法定义如下:

private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
我的问题是:为什么OpenAPI不能生成正确的代码。toString方法未生成有效的json(因为json以“class StudentId”开头,并以“\n”开头)。

这个问题不是重复的现有问题,我问的是发送style=form和explode=false的json对象数组。现有问题不能解决我的问题。

可能重复的@Helen我拒绝你重复的问题。这里我问的是Appliation/json类型对象数组,而上面提到的链接谈到了deep对象。查询字符串在HTTP请求URL中应该是什么样子的?(这将澄清它是否是一个复制品。)@Helen我不知道它应该是什么样子。我所拥有的只是我在问题中共享的OpenAPI规范。如果您没有使用OpenAPI,请不要将其标记为重复。我确实知道OpenAPI。查询参数序列化有两个选项-1)
?学生列表[0]。class=class1&学生列表[0]。rollno=1&学生列表[1].class=class2&学生列表[0]。rollno=2
;2)
?学生名单=[{“班级”:“班级”,“罗尔诺”:1},{“班级”:“班级2”,“罗尔诺”:2}]
(或者,在URL编码之后-
?学生名单=%5B%7B%22class%22%3A%22class%22%2C%22rollno%22%3A1%7D%2C%7B%22class%22%3A%22class2%22%2C%22rollno%22%3A2%7D%5D
)。从你的问题看来,你想要(2),但也许你的意思是(1)?只是想澄清一下用例。可能重复的@Helen我拒绝你重复问题的说法。这里我问的是appliance/json类型对象的数组,而前面提到的链接讨论的是deep对象?(这将澄清这是否是一个骗局。)@Helen我不知道它应该是什么样子。我所拥有的只是我在问题中分享的OpenAPI规范。请不要将其标记为重复,如果您没有使用过OpenAPI,我确实知道OpenAPI。查询参数序列化有两个选项-1)
?学生列表[0]。class=class1&学生列表[0]。rollno=1&学生列表[1]。class=class2&学生列表[0]。rollno=2
;2)
?学生名单=[{“班级”:“班级”,“罗尔诺”:1},{“班级”:“班级2”,“罗尔诺”:2}]
(或者,在URL编码之后-
?学生名单=%5B%7B%22class%22%3A%22class%22%2C%22rollno%22%3A1%7D%2C%7B%22class%22%3A%22class2%22%2C%22rollno%22%3A2%7D%5D
)。从你的问题看来,你想要(2),但也许你的意思是(1)?只是试图澄清用例。