HTTP模块
HTTP模块
Axios是功能丰富的HTTP客户端,广泛应用于许多应用程序。这就是为什么Nest包装这个包并默认将它暴露为内置的原因HttpModule
。简单地公开基于axios的方法来执行HTTP请求的HttpModule
导出HttpService
,但也将返回类型转换为Observables
。
为了使用a HttpService
,我们需要导入HttpModule
。
@Module{
imports: [HttpModule],
providers: [CatsService],
})
export class CatsModule {}
提示
的HttpModule
是从暴露@nestjs/common
包。
然后,你可以注射HttpService
。这个类可以从@nestjs/common
包中轻松访问。
JS
@Injectable()
export class CatsService {
constructor(private readonly httpService: HttpService) {}
findAll(): Observable<AxiosResponse<Cat[]>> {
return this.httpService.get('http://localhost:3000/cats'
}
}
所有方法返回AxiosResponse
包装Observable
对象。
组态
Axios提供了许多选项,您可以利用这些选项来提高您的HttpService
功能。要配置底层库实例,请使用register()
方法HttpModule
。
@Module{
imports: [HttpModule.register{
timeout: 5000,
maxRedirects: 5,
})],
providers: [CatsService],
})
export class CatsModule {}
所有这些属性都将传递给axios
构造函数。