20220117 TIL

한결·2022년 1월 18일
0

TIL(Today I Learned)

목록 보기
6/14

전날에는 프론트엔드에 cdn으로 axios를 사용했지만, 오늘은 백엔드에 적용시켰다.

yarn add axios

를 사용해 설치한다.

import axios from 'axios'
function fetchPost(){
    const result = axios.get('https://koreanjson.com/posts/1')
    console.log(result) //Promise{ <pending> }
}

로 사용할 수 있다.
get/post/put/delete 메서드를 사용한다.
이것은 데이터를 받지 않아도 result로 넘어가기때문에 Promise라고 한다.

import axios from 'axios'
async function fetchPost2(){
    const result = await axios.get('https://koreanjson.com/posts/1')
    console.log(result.data) //실제 데이터
}

이렇게 asyncawait를 사용한다면 promise로 전환하고 내용이 resolve된 이후에 진행된다.

API

sendTokenToSMS를 맞게 수정한다.

export async function sendTokenToSMS(a,b){
    const appKey = process.env.SMS_APP_KEY
    const XSecretKey = process.env.SMS_X_SECRET_KEY
    const sender = process.env.SMS_SENDER

    await axios.post(`https://api-sms.cloud.toast.com/sms/v3.0/appKeys/${appKey}/sender/sms`,
    {
        body:`안녕하세요. 인증번호는 [${b}]입니다.`,
        sendNo: sender,
        recipientList: [{internationalRecipientNo: a}]
    },
    {
        headers: {
            "X-Secret-Key": XSecretKey,
            "Content-Type": "application/json;charset=UTF-8"
    }
    })
    console.log('전송완료')
    
}

여기에서 a는 받는사람, b는 보내는 인증번호가 된다.

node index.js를 실행하고 Postman으로 번호를 입력한다면

라고 보내진것을 볼 수 있다.

같은 방식으로 sendTempleteToEmail을 만들어본다.

  • 참고로, .env파일을 만들어 보안을 지키도록 한다.

    "dotenv": "^14.1.0"

SMS_APP_KEY=
SMS_X_SECRET_KEY=
SMS_SENDER=

EMAIL_APP_KEY=
EMAIL_X_SECRET_KEY=
EMAIL_SENDER=support@

로 파일을 만들어 관리한다.

0개의 댓글