acacode / acacode/swagger-typescript-api

[route generation] multiple response type cases

Abierto
#318 4 comentarios 3 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
4.1k
Forks
436
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.