acacode / acacode/swagger-typescript-api

[route generation] multiple response type cases

Offen
#318 4 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
4.1k
Forks
436
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I've got a request the has 2 different return types: one on status 200 and another one on status 201

```
paths:
/hello:
get:
tags:
- "Hello Api"
operationId: sayHello

responses:
200:
schema:
$ref: "#/definitions/Hello"
201:
schema:
$ref: "#/definitions/User"
400:
$ref: "#/responses/400-BadRequest"
401:
$ref: "#/responses/401-Unauthorized"
404:
$ref: "#/responses/404-NotFound"
500:
$ref: "#/responses/500-InternalServerError"
default:
$ref: "#/responses/500-InternalServerError"
```

It generated me this namespace
```

export namespace Hello {
/**
* @tags Hello Api
* @name SayHello
* @request GET:/hello
* @response `200` `Hello`
* @response `201` `User`
* @response `400` `Error`
* @response `401` `Error`
* @response `404` `Error`
* @response `500` `Error`
* @response `default` `Error`
*/
export namespace SayHello {
export type RequestParams = {};
export type RequestQuery = {};
export type RequestBody = never;
export type RequestHeaders = {};
export type ResponseBody = Hello;
}
}
```

I think the correct response body is ```ResponseBody = Hello | User;``` as we cans return the 2 types

Also in case want to return an error, how is it supposed to work ? the error cases are only refered in @response decorator

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.