acacode / acacode/swagger-typescript-api

Not generating unions with multiple media types

オープン
#314 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る
bug
主要言語
TypeScript
スター
4.1k
フォーク
436
PR マージ指標
30日以内にマージされた PR はありません

説明

There seems to be an issue generating union types when multiple media types exist that alter the requirements for the request body.

Example path with multiple media types ([right from the swagger requestBody docs](https://swagger.io/docs/specification/describing-request-body/)):

Given the following schema:
```yaml
paths:
/pets:
post:
summary: Add a new pet
requestBody:
content:
"application/json":
schema:
$ref: '#/components/schemas/Cat'
"application/foo.bar+json":
schema:
$ref: '#/components/schemas/Dog'
```

Only one output method will be generated, it seems to either be `application/json` or index 0, I'm not entirely sure.

Is there any way I can get this to generate a union type rather than always generating from schemas/Cat? It seems like the swagger specification should allow for multiple media types for a single endpoint.

> The requestBody is more flexible in that it lets you consume different media types, such as JSON, XML, form data, plain text, and others, and use different schemas for different media types. requestBody consists of the content object, an optional Markdown-formatted description, and an optional required flag (false by default). content lists the media types consumed by the operation (such as application/json) and specifies the schema for each media type

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。