Кажется, что проблема связана с тем фактом, что мы пытаемся вернуть объект Response напрямую, и это по своей природе является круговым.Я не уверен в правильном способе реализации этого, но мне удалось обойти его, используя axios напрямую, развернув обещание и вернув только данные.
@Post('login')
async authenticateUser(@Body() LoginDto) {
const params = JSON.stringify(LoginDto);
return await axios.post('https://api.example.com/authenticate_user',
params,
{
headers: {
'Content-Type': 'application/json',
},
}).then((res) => {
return res.data;
});
}
ОБНОВЛЕНИЕ
Я понял, что мог бы сделать то же самое с Observable, возвращаемым из httpService
, используя новый метод канала rxjs, так что, вероятно, это лучший способ сделать это.
@Post('login')
async authenticateUser(@Body() LoginDto) {
const params = JSON.stringify(LoginDto);
return await this.httpService.post('https://api.example.com/authenticate_user',
params,
{
headers: {
'Content-Type': 'application/json',
},
}).pipe(map((res) => {
return res.data;
}));
}