NestJS Перехват ошибки парсинга Json запроса
Использую NestJS.
Запросы принимает единственный контроллер.
import { Controller, Post, Req, Header } from '@nestjs/common'
import { Request } from 'express'
import { RpcService } from './infrastructure/services/rpc/rpc.service'
@Controller()
export class AppController {
constructor(
private readonly rpcService: RpcService,
) {}
@Post()
@Header('Content-Type', 'application/json')
async index(@Req() request: Request): Promise<object> {
return this.rpcService.call(request.body)
}
}
Если отправляю запрос с невалидным JSON в теле, то получаю вот такой ответ:
{
"statusCode": 400,
"error": "Bad Request",
"message": "Unexpected end of JSON input"
}
Подскажите, где и как я могу получить тело запроса раньше этой ошибки, обработать самостоятельно и вернуть клиенту собственный ответ.
Пробовал для этого использовать Middleware и Exception filters. Не получилось, до них доходит дело только, если я отправляю валидный json. В случае с невалидным json до них выполнение не доходит. Проверка осуществляется где-то раньше. Очень хотелось бы узнать где и найти способ эту проверку перехватить.