我正在将Quarkus评估为后端,可以通过有角度的前端进行访问。 我想使用Quarkus通过http://localhost:8080/openapi提供的openapi数据, 并通过openapi-generator工具生成一个Typescript-角度客户端存根。
我首先使用了Quarkus Openapi指南:https://quarkus.io/guides/openapi-swaggerui 但是在运行完未修改的示例并通过http://localhost:8080/openapi检索Openapi YAML数据后,我注意到生成的数据是错误的,并且由于stackoverflow错误,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'
这是一个已知问题,还是我这边有些误解。 有没有解决此问题的方法?
非常感谢!
答案 0 :(得分:0)
它绝对不应该生成自引用定义!您能否在这里提出一个问题:
https://github.com/smallrye/smallrye-open-api/issues
该库是Quarkus支持此功能的实现。如果您可以包括一个复制项目,那将非常有帮助。或者至少给我们一些关于Fruit
和SetFruit
Java类的信息。
答案 1 :(得分:0)
此问题将在下周发布的Quarkus 1.3.0.CR1中解决。