Неправильный OpenAM YAML, не может генерировать клиентские заглушки - PullRequest
0 голосов
/ 17 февраля 2020

Я оцениваю Quarkus как бэкэнд, доступный через angular внешний интерфейс. Я хотел использовать данные openapi, предоставленные Quarkus через http://localhost: 8080 / openapi , и с помощью инструментов генератора openapi генерировать заглушку для машинописного текста angular.

, которую я использовал как первый шаг Руководство Quarkus Openapi: https://quarkus.io/guides/openapi-swaggerui Но после запуска неизмененного примера и получения YAML-данных Openapi через http://localhost: 8080 / openapi Я заметил, что сгенерированные данные неправильно, и генератор openapi не может сгенерировать клиента из-за ошибки переполнения стека.

Проблема: собственная ссылка в данных Openapi для SetFruit-Definition (последняя строка):

openapi: 3.0.1
info:
  title: Generated API
  version: "1.0"
paths:
  /fruits:
    get:
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetFruit'
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Fruit'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetFruit'
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Fruit'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetFruit'
components:
  schemas:
    Fruit:
      type: object
      properties:
        description:
          type: string
        name:
          type: string
    SetFruit:
      $ref: '#/components/schemas/SetFruit'

Это известная проблема или есть какое-то недопонимание с моей стороны. Есть ли способ обойти эту проблему?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Эта проблема будет решена в Quarkus 1.3.0.CR1, выпущенном на следующей неделе.

0 голосов
/ 17 февраля 2020

Это определенно не должно генерировать само-ссылающееся определение! Не могли бы вы открыть вопрос здесь:

https://github.com/smallrye/smallrye-open-api/issues

Эта библиотека является реализацией поддержки Quarkus для этой функции. Если бы вы могли включить проект репродуктора, это было бы очень полезно. Или, по крайней мере, предоставьте нам некоторую информацию о классах Fruit и SetFruit java.

...