์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tableau
- AI
- github
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ฐฑ์ค
- ์ฝํ
- ์๊ณ ๋ฆฌ์ฆ
- abap
- ์ฝ๋ฉํ ์คํธ
- AWS
- ํ์ด์ฌ
- DFS
- ๊นํ๋ธ
- Git
- ๋น ๋ฐ์ดํฐ
- ๋ฐ์ดํฐ ๋ถ์
- ๋ฆฌ์กํธ
- ์์ฐ์ด์ฒ๋ฆฌ
- ํ ์คํธ๋ถ์
- react
- ์๋ง์กด์น์๋น์ค
- erp
- ๋ฐ์ดํฐ๋ถ์
- ๋ฅ๋ฌ๋
- ํ ์คํธ๋ง์ด๋
- ํ๋ธ๋ก
- ์ธ๊ณต์ง๋ฅ
- sap
- nlp
- ํ๋ธ๋ฃจ
- Today
- Total
Hey Tech
ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (7) Axios ๊ธฐ๋ฐ API Call ๋ณธ๋ฌธ
ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (7) Axios ๊ธฐ๋ฐ API Call
Tony Park (ํ ๋) 2022. 6. 10. 03:25๐ ์๋ฆฌ์ฆ ํฌ์คํ
1. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (1) React ๊ธฐ๋ฐ Frontend ๊ฐ๋ฐ
2. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (2) AWS IAM ์ญํ ์์ฑ
3. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (3) AWS Lambda ์์ฑ
4. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (4) AWS S3 ์์ฑ
5. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (5) AWS API Gateway ์์ฑ
6. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (6) AWS Lambda ํจ์ ์์ฑ
7. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (7) Axios ๊ธฐ๋ฐ API Call
8. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (8) ํ์ผ ์ ๋ก๋ ํ ์คํธ
9. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (9) AWS S3 ๊ธฐ๋ฐ ์น ํธ์คํ
๐จ๐ป ๋ค์ด๊ฐ๋ฉฐ
๋ณธ ํฌ์คํ ์์๋ Axios ํจํค์ง๋ฅผ ํ์ฉํ์ฌ ์์ ์์ฑํ REST API๋ฅผ Call ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค.
๐ ๋ชฉ์ฐจ
1. Axios ํจํค์ง ์ค๋ช
2. Axios ํจํค์ง ์ค์น
3. Axios ๊ธฐ๋ฐ API Call
1. Axios ํจํค์ง ์ค๋ช
Axios๋ Promise API๋ฅผ ํ์ฉํ๋ ๋น๋๊ธฐ์ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์จ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๊ฐ ํต์ ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๋์ฑ ์์ธํ ์ค๋ช ์ Axios ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
https://axios-http.com/kr/docs/intro
2. Axios ํจํค์ง ์ค์น
npm์ ํ์ฉํด ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค.
npm install axios
3. Axios ๊ธฐ๋ฐ API Call
์์ ํ์ผ ์ ๋ก๋์ฉ ์น ํ์ด์ง์ Frontend๋ฅผ ๊ตฌ์ถํ์ต๋๋ค. ํด๋น ๋ด์ฉ์ ๋ํ ์์ธํ ์ค๋ช ์ ์๋์ ํฌ์คํ ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
https://heytech.tistory.com/403?category=559266
์ด์ axios๋ฅผ ํ์ฉํ์ฌ ์์ ์์ฑํ๋ API Gateway๋ก ํ์ผ์ POST ํด๋ณด๊ฒ ์ต๋๋ค.
1) ํจํค์ง import
src ํด๋ ๋ด App.js ํ์ผ์ axios ํจํค์ง๋ฅผ import ํฉ๋๋ค. ๊ธฐ์กด ์ฝ๋์์ ์๋์ ์ฝ๋ ํ ์ค์ ์ถ๊ฐํฉ๋๋ค.
// App.js
import axios from 'axios';
2) API Call
๊ฐ์ App.js ํ์ผ์์ ํ์ผ ์ ๋ก๋ ํจ์ ๋ด axios์ post ๋ฉ์๋๋ฅผ ํ์ฉํ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ์์ ์์ฑํ AWS API Gateway URL์ ์ ๋ ฅํฉ๋๋ค.
onFileUpload = () => {
const formData = new FormData();
formData.append(
"demo file",
this.state.selectedFile,
this.state.selectedFile.name
)
axios.post("API Gateway URL", formData).then(() => { // API Gateway URL ์
๋ ฅ
this.setState({selectedFile: null});
this.setState({fileUploadedSuccessfully: true});
})
}
์ด์ Aixos ๊ธฐ๋ฐ API Call ์ธํ ๊น์ง ์๋ฃํ์์ต๋๋ค. ๋ค์ ํฌ์คํ ์์๋ ๋ธ๋ผ์ฐ์ ์์ ํ์ผ ์ ๋ก๋ ์ AWS S3 ๋ฒํท์ ์ ์ ์ฅ๋๋์ง ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
๐ ์๋ฆฌ์ฆ ํฌ์คํ
1. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (1) React ๊ธฐ๋ฐ Frontend ๊ฐ๋ฐ
2. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (2) AWS IAM ์ญํ ์์ฑ
3. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (3) AWS Lambda ์์ฑ
4. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (4) AWS S3 ์์ฑ
5. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (5) AWS API Gateway ์์ฑ
6. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (6) AWS Lambda ํจ์ ์์ฑ
7. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (7) Axios ๊ธฐ๋ฐ API Call
8. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (8) ํ์ผ ์ ๋ก๋ ํ ์คํธ
9. ํ์ผ ์ ๋ก๋ ์น ํ์ด์ง ๊ตฌ์ถ: (9) AWS S3 ๊ธฐ๋ฐ ์น ํธ์คํ
ํฌ์คํ ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์๊ฑฐ๋ ๋ณด์ํ ์ ์ด ์๋ค๋ฉด ์๋์ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์!
๊ทธ๋ผ ์ค๋๋ ์ฆ๊ฒ๊ณ ๊ฑด๊ฐํ ํ๋ฃจ ๋ณด๋ด์๊ธธ ๋ฐ๋๋๋ค :)
๊ณ ๋ง์ต๋๋ค๐