? Я только начал играть с Swagger, и все замечательно. Я смог документировать все API в течение часа или около того, но застрял, решая одну последнюю проблему.
Как мне сказать, чтобы swagger показывал ApiBadRequestResponse
в следующем формате?
@ApiOkResponse({
type: User,
})
@ApiBadRequestResponse({
type: {
error: String,
message: ValidationError[]
}
})
@Post('/signup')
signUp(
@Body(ValidationPipe) authCredentialsDto: CredentialsDTO
): Promise<User> {
return this.userService.signUp(authCredentialsDto)
}
Из того, что я понимаю, Swagger не знает, как работать с интерфейсами, вместо этого я должен использовать классы. Есть ли простой способ документировать неправильный ответ на запрос, вызванный ValidationPipe
. Это все нативное поведение @nestjs
, поэтому я предполагаю, что должно быть простое решение.
Это то, что фактически возвращается из API:
"statusCode": 400,
"error": "Bad Request",
"message": [
{
"target": {
"username": "somename",
"password": "****"
},
"value": "****",
"property": "password",
"children": [], // ValidationError[]
"constraints": {
"matches": "password too weak"
}
}
]