๐ ์์ธ
axios๋ฅผ ์ด์ฉํด์ API ํต์ ์ ํ๋ ๋์ค, ์ ํ ํต์ ์ด ๋์ง ์๊ฑฐ๋ ์๋ฌ๊ฐ ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐ๊ฒฌํ๋ค.
๋ฌธ์ ๋ axios header์ ์ ๋ณด๋ฅผ ๋๊ธธ ๋, ์๋์น์๊ฒ ํน์๋ฌธ์ ์ํผ์คํธ๋กํผ(โ)๊ฐ ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ ์๋ฌ๋ ์๋ต์ด ํต์ ์ด ์๋๋ ๋ฌธ์ .
์ํผ์คํธ๋กํผ (โ)์ ํ๋ฐ์ดํ (โ)๋ ๋ค๋ฅด๋ค
์์
๐ ๊ธฐ๋ํ๋ ์ํฉ
axios.defaults.headers.common["header-sample"] = "header-sample";
axios
.get("https://jsonplaceholder.typicode.com/todos")
.then((res) => {})
.catch((error) => {});
์ ์ด๋ฏธ์ง์ฒ๋ผ ํค๋ ์ํ์ด ๋ค์ด๊ฐ ์๋ ์ํฉ์ ๊ธฐ๋ ํ๋ค.
๐ข ์คํจํ ์ํฉ
axios.defaults.headers.common["header-sample"] = "heaโder-sample";
axios
.get("https://jsonplaceholder.typicode.com/todos")
.then((res) => {})
.catch((error) => {});
์ํผ์คํธ๋กํผ๊ฐ ํฌํจ๋๋ฉด ์ ์ด๋ฏธ์ง์ฒ๋ผ ์์ ํต์ ์์ฒด๊ฐ ์๋๋ ๊ฒฝ์ฐ๋ ์๊ฑฐ๋ ์๋ฌ๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์๋ค.
โ ํด๊ฒฐ๋ฐฉ๋ฒ
์น์ฌ์ดํธ๋ฅผ ์ฌ๊ธฐ์ ๊ธฐ ๊ฒ์ํด๋ณธ ๊ฒฐ๊ณผ, ํด๋น ๋ฌธ์ ๋
- ๋ฐ๋์ header์ ์ฌ์ฉํ์ ๋ ์ผ์ด๋๋ ๋ฌธ์ ๊ฐ ์๋
- ์ํผ์คํธ๋กํผ๋ผ๋ ํน์๋ฌธ์๋ง์ ๋ฌธ์ ๋ ์๋. ๋ค๋ฅธ ํน์๋ฌธ์๋ ์๋ฌ๊ฐ ์๊ธธ ์ ์์
ํน์๋ฌธ์๋ก ์ธํด ๋ํ๋๋ ์๋ฌ๋ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ํํ ๊ฒช๋ ๋ฌธ์ ์ด๋ฉฐ, axios๋ง์ ๋ฌธ์ ๊ฐ ์๋๋ผ xhr์ ์ด์ฉํ๋ค๋ณด๋ฉด ์ธ์ ๋ ์ง ๊ฒช์์ ์๋ ๋ฌธ์ ๋ค.
๊ฐ์ฅ ๊ฐ๋จํ ํด๋ฒ์ ํด๋น ํน์๋ฌธ์๋ฅผ ๋ค๋ฅธ ๋ฌธ์๋ก replaceํด์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค.
let header = "heaโder-sample";
header = header.replace("โ", "other");
axios.defaults.headers.common["header-sample"] = header;
axios
.get("https://jsonplaceholder.typicode.com/todos")
.then((res) => {})
.catch((error) => {});
์ ์ด๋ฏธ์ง์ฒ๋ผ ๋ค๋ฅธ ๋ฌธ์๋ก ์นํํด์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ฉฐ, ๋ค๋ฅธ ๊ธฐํ ๋ฐฉ๋ฒ์ผ๋ก๋
encodeURIComponent๋ฅผ ์ด์ฉํด์ ๋ฌธ์๋ฅผ ์ด์ค์ผ์ดํ ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ฌ์ค ๋๋ค ๊ฐ์ ๋งฅ๋ฝ.
์ฐธ๊ณ