209 похожих чатов

Подскажите, что не так: есть два стула сервера, с первого

на второй делаю запрос через axios, второй кидает HttpException("текст ошибки", 400).
а первый возвращает что-то типа { "statusCode": 400 }. как сделать так, чтобы возвращалось с первого в точности то же самое, что было кинуто на втором?
думал, ExceptionFilter поймает, сделал свой фильтр (как тут написано: https://stackoverflow.com/questions/72711256/nestjs-in-conjunction-with-axios) @Catch(AxiosError) - все равно не ловит. будто там не AxiosError, а что-то другое

3 ответов

9 просмотров
Vladimir- Автор вопроса

причем, если сделать trycatch(error), то я могу поймать и из error вытащить нужные данные. но у меня 100 запросов. не могу ж я каждый оборачивать в trycatch

Vladimir
причем, если сделать trycatch(error), то я могу по...

try { return await axios.request(config); } catch (e: any) { if (axios.isAxiosError(e)) { this.logger.error(e); if (e instanceof AxiosError) { throw new HttpException(e?.response?.data, e?.response?.status ?? 500); } } else if (e instanceof Error) { throw new HttpException("Failed to fetch data", HttpStatus.GATEWAY_TIMEOUT); } throw e; }

try { return await axios.request(config); } catch (e: any) { if (axios.isAxiosError(e)) { this.logger.error(e); if (e instanceof AxiosError) { throw new HttpException(e?.response?.data, e?.response?.status ?? 500); } } else if (e instanceof Error) { throw new HttpException("Failed to fetch data", HttpStatus.GATEWAY_TIMEOUT); } throw e; }

Похожие вопросы

Обсуждают сегодня

Карта сайта