JS 외부 API 호출하기

Jiwon Youn·2021년 1월 15일

app.service.ts

< 방법 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 >

app.service.ts

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 바로 접근 가능

app.module.ts

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 필요

0개의 댓글