我应该在一次休息行动中通过学生名单。学生名单的定义如下:
- 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 Generator生成的代码,需要学生列表的操作将遍历列表中的每个StudentId。对于每个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();
}
toIndentedString方法定义如下:
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
我的问题是:为什么OpenAPI无法生成正确的代码。 toString方法无法生成有效的json(因为jSON以“ StudentId类”开头,而以“ \ n”开头则很混乱)。
这个问题不是现有问题的重复。在这里,我问的是发送样式= form和explode = false的json对象数组。现有问题无法解决我的问题。