Как предотвратить вложенные модели с OpenAPI Codegen? - PullRequest
0 голосов
/ 19 февраля 2019

Ввод JSON

У меня огромный JSON.Это выдержка из этого.

{
  "base.get.v1.Input": {
    "properties": {
      "request": {
        "$ref": "#/components/schemas/base.get.v1.Input.Request"
      },
      "id": {
        "maxLength": 128,
        "type": "string"
      }
    },
    "required": ["id"],
    "type": "object"
  }
}

Интерфейс вывода

Используя OpenApi-generator-cli-3.0.0.jar я получаю следующий файл машинописного текста (относительночтобы часть JSON показывалась ранее):

import { BaseGetV1InputRequest } from './baseGetV1InputRequest';


export interface BaseGetV1Input {
    request?: BaseGetV1InputRequest;
    trid: string;
}

Желаемый результат

Есть ли способ развернуть объект request (и последующие объекты)(решатель или взорвался, какой бы термин вы ни выбрали).Я бы хотел, чтобы окончательный интерфейс был таким:

import { BaseGetV1InputRequest } from './baseGetV1InputRequest';


export interface BaseGetV1Input {
  request?: {
    entity?: {
      code?: 0,
      id?: string
    },
    procedure?: string,
    search?: {
      type?: "starts" | "contains",
      value?: string
    }
  },
  trid: string
}

Протестированные решения, которые не работают

Я попытался решить $ ref самостоятельно, используя json-schema-ref-parser но я думаю, что codegen создает подмодель, когда находит properties внутри входного JSON.

Я также пробовал с / без шаблонов усов (что кто-то другой получил меня).Но вывод не изменился.

Я довольно новичок в OpenAPI, надеюсь, вы мне поможете.

...