我正在尝试使用读取 OpenAPI 3.0 规范的 OpenAPI Generator 4.0.0-SNAPSHOT(我们的经理要求我们使用该版本)生成 Typescript 客户端。我们当前所有的端点要么接受查询字符串中的数据,要么接受表单主体的数据,并且它们都可以完美地工作。我有一个新端点,它将以 POST 正文中的 JSON 格式读取数据(其他端点最终也会被转换)。它将接受如下对象:
{email: "something@domain.com"}
我正在尝试在 YAML 中记录端点,如下所示:
/users/send-password-reminder:
post:
[...]
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
type: string
responses:
[...]
但是,当我生成 Typescript 客户端时,它会生成一个SendPasswordReminderRequest
对象,该对象包装了一个自动生成的InlineObject1
对象,该对象包装了我实际email
的 .
这使我像这样使用它:
const req: SendPasswordReminderRequest = {
inlineObject1:{
email: "..."
}
};
APIClient.user.sendPasswordReminder(req, ...)
相反,我想要的是完全摆脱它InlineObject1
并SendPasswordReminderRequest
直接包装email
属性,并能够将其用作:
const req: SendPasswordReminderRequest = {
email: "..."
};
APIClient.user.sendPasswordReminder(req, ...)
我已经尝试在components/requestBodies
和 using中定义正文,$ref
即使它使用我的请求正文类型的名称,它仍然包装实际正文。
我怎样才能摆脱这种包装?