< 방법 1 >
import { HttpService, Injectable } from '@nestjs/common';
import axios from 'axios';
export class AppService {
private readonly DATA_URL = 'http://localhost:3001/product';
async getProducts() {
const products = await axios.get(this.DATA_URL);
console.log(typeof products.data);
return products.data;
}
}
axios가 object 객체로 가져옴 -> products.data로 바로 접근 가능
< 방법 2 >
async getProducts() {
constructor(private httpService: HttpService) {}
private readonly DATA_URL = 'http://localhost:3001/product';
const products = await this.httpService.get(this.DATA_URL).toPromise();
console.log(products.data);
return products.data;
}
constructor HttpService 선언 (안정성, 메모리 관리 효율)
httpService가 object 객체로 가져옴 -> 또한 data 바로 접근 가능
import { HttpModule, Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [HttpModule],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
HttpModule import 필요