Openapi YAML неверен, не может генерировать клиентские заглушки
Я оцениваю Quarkus как серверную часть, доступ к которой осуществляется через интерфейс angular. Я хотел использовать данные openapi, предоставленные Quarkus через http://localhost:8080/openapi, и сгенерировать с помощью инструментов openapi-generator заглушку клиента с typecript-angular.
В качестве первого шага я использовал руководство Quarkus Openapi: https://quarkus.io/guides/openapi-swaggerui Но после запуска немодифицированного примера и получения Openapi YAML-данных через http://localhost:8080/openapi я заметил, что сгенерированные данные неверны, и генератор openapi не может создать клиента из-за ошибки переполнения стека.
Проблема: ссылка на себя в Openapi-data для 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 ответа
Эта проблема будет решена в Quarkus 1.3.0.CR1, который выйдет на следующей неделе.
Это определенно не должно генерировать самоопределение! Не могли бы вы поднять здесь вопрос:
https://github.com/smallrye/smallrye-open-api/issues
Эта библиотека является реализацией поддержки Quarkus этой функции. Если бы вы могли включить проект репродуктора, это было бы очень полезно. Или, по крайней мере, дайте нам некоторую информацию оFruit
а также SetFruit
классы java.