전날에는 프론트엔드에 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) //실제 데이터
}
이렇게 async
와 await
를 사용한다면 promise로 전환하고 내용이 resolve된 이후에 진행된다.
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@
로 파일을 만들어 관리한다.