OpenAPI3: как передать массив объектов json в запрос - PullRequest
0 голосов
/ 20 мая 2019

Я должен передать список студентов в операции отдыха.Список студентов определяется следующим образом:

- 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 (with style = form и explode = true).
Согласно коду, сгенерированному OpenAPI Generator, операция, требующая список Student, выполняет итерации по каждому StudentId в списке.Для каждого StudentId он вызывает метод toString для генерации представления json. StudentId Object
Объект 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 начинается с «class StudentId» и он загромождается «\ n»}.
Этот вопрос не является дубликатом существующего вопроса. Здесь я задаю вопрос об отправке массива объектов jsonс style = form и explode = false. Существующий вопрос не дает решения моей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...