这个简单的演示有一个错误 * https://docs.nestjs.com/techniques/http-module *
import { Get, Controller, HttpService } from '@nestjs/common';
import { AxiosResponse } from 'axios'
import { Observable } from 'rxjs'
@Controller()
export class AppController {
constructor(private readonly http: HttpService) {}
@Get()
root(): Observable<AxiosResponse<any>> {
return this.http.get('https://api.github.com/users/januwA');
}
}
我该怎么办?
x一个一个一个一个x一个一个二个x
4条答案
按热度按时间9fkzdhlc1#
不能只返回整个
AxiosResponse
对象,因为它不能序列化为JSON,您最可能希望得到如下data
响应:或者可选地使用
Promises
:dvtswwa32#
您必须确保将响应作为JSON处理,您可以将其作为承诺返回并获取数据,可以使用HttpService或axios
jecbmhm33#
正如您在示例中所写,
get
方法返回AxiosResponse<>
并包含循环引用。因此,如果您想代理Web服务https://api.github.com/users/januwA
,则应返回AxiosResponse.data
:6ie5vjzr4#
toPromise()
已弃用,因此以下是更新后的答案: