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构造函数。