๊ธฐํ ๋จ๊ณ๊ฐ ์ง๋๊ฐ๊ณ ์ค์ ๋ก ํ ํ๋ก์ ํธ๊ฐ ์์์ด ๋์๋ค.
๋ฐฑ์๋์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์๋ ์ฐจ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐฑ์๋ API ๊ฐ ์์ฑ ๋ ๋ ๊น์ง ํ๋ก ํธ์๋๋ ๋ฌด์์ ํด์ผํ ๊น ?
๋ฐ๋ก ๋ฐฑ์๋ํ์์ API ๊ฐ๋ฐ ์๋ฃ๋ ๋๊น์ง json - server๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์์ ๋ฐ์ดํฐ, api ๋ฅผ ์์ฑํ์ฌ ์ค์ API๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ
์ปดํฌ๋ํธ ๊ฐ๋ฐ์ ์์ํ๋ค๊ฐ ์ถํ ์ค์ API๋ฅผ ์ฐ๋ํ๋ฉด ๋๊ฒ ๋ค.
์ค์น ๋ฐฉ๋ฒ
npm install -g json-server
์ค์น๊ฐ ์๋ฃ ๋์๋ค๋ฉด
์์ ๊ฐ์ด ํ๋ก์ ํธ ํด๋ ๋ด๋ถ ์ต์์์ json-server๋ผ๋ ํด๋๋ฅผ ์์ฑํ๊ณ ๊ทธ ์์ db.json์ด๋ผ๋ ํ์ผ์ ๋ง๋ค์.
์ด์ ์ค์ ๊ฐ๋ฐ ๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ db.json ํ์ผ์์ mock ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ฉด ๋๊ฒ ๋ค.
์๋๋ ์ค์ ๊ฐ๋ฐ์ ์ฌ์ฉ ๋ ๋ฐ์ดํฐ์ด๋ฉฐ response๊ฐ ์๋นํ ๊ธธ์ด์ ์ ๋ฐ์ ์๋๋ค ...ใ
"camp":
{
"addr1": "๊ฒฝ์๋จ๋ ์ฐฝ์์ ์์ฐฝ๊ตฌ ๋ถ๋ฉด ๋ฌ์ฒ๊ธธ 150 ",
"animalCmgCl": "๊ฐ๋ฅ(์ํ๊ฒฌ)",
"autoSiteCo": 31,
"caravSiteCo": 4,
"glampSiteCo": 4,
"doNm": "๊ฒฝ์๋จ๋",
"eqpmnLendCl": "ํ
ํธ,ํ๋ก๋,๋๋ฐฉ๊ธฐ๊ตฌ,์๊ธฐ,์นจ๋ญ",
"extshrCo": 50,
"facltNm": "๋ฌ์ฒ๊ณต์์คํ ์บ ํ์ฅ ",
"featureNm": "์ฒ์ฃผ์ฐ์ ๊ณ๊ณก์ด ์ข๊ณ ๋์ฌ๊ณผ ๊ฐ๊น์",
"fireSensorCo": 0,
"firstImageUrl": "https://gocamping.or.kr/upload/camp/704/thumb/thumb_720_6835LN3Y4PG4YQDWJo1y7Vvr.jpg",
"homepage": "http://camp.changwon.go.kr/",
"induty": "์ผ๋ฐ์ผ์์ฅ,์๋์ฐจ์ผ์์ฅ,์นด๋ผ๋ฐ",
"indvdlCaravSiteCo": 0,
"intro": "๋ฌ์ฒ๊ณต์ ์คํ ์บ ํ์ฅ์ ์ฐฝ์์ ๋ถ๋ฉด ์ฒ์ฃผ์ฐ ๋ฌ์ฒ๊ณ๊ณก์ ์์นํ๊ณ ์๋ค.",
"lctCl": "์ฐ,์ฒ,๊ณ๊ณก,๋์ฌ",
"lineIntro": "์ฌ๊ณ์ ์๋ก ๋ค๋ฅธ ๋งค๋ ฅ์ ์บ ํ์ ์ฆ๊ธธ ์ ์๋ ๊ณณ",
....
},
์ ์ฒ๋ผ db.json ์์ ์ฌ์ฉํด์ผํ ๊ฐ์์ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋์๋ค๋ฉด
๋ค์ ๋ช ๋ น์ด๋ฅผ ํตํด json-server๋ฅผ ์คํ์์ผ๋ณด์ !
npx json-server --watch json-server/db.json --port 3001
3000 ํฌํธ๋ ๋ฆฌ์กํธ ๊ฐ๋ฐ์๋ฒ๊ฐ ์ฌ์ฉํ๋ ๊ธฐ๋ณธํฌํธ์ด๊ธฐ ๋๋ฌธ์ ์์ฒญ ํฌํธ ๋ฒํธ๋ฅผ 3001 ์ผ๋ก ํด์ค๋ค !
( ๊ผญ 3001์ด ์๋๋๋ผ๋ ๊ด์ฐฎ๋ค )
์๋์ ๊ฐ์ด axios๋ฅผ ์ฌ์ฉํ์ฌ json-server๋ก ์์ฑ๋ mock ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์๋ณด๋๋ก ํ์
import axios from 'axios';
export async function getCamp() {
try {
const response = await axios('http://localhost:3001/camp');
const data = response.data;
return data;
} catch (error) {
throw new Error('Failed to load data');
}
}
json-server ๋ฅผ ์ด์ฉํด์ ๋ฐฑ์๋ API๊ฐ ๊ฐ๋ฐ๋๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ๊ฐ์ API๋ฅผ ํตํด data๋ฅผ ๋ฐ์ ํ๋กํ ํ์ ์ ๋ง๋ค๊ฑฐ๋
๊ณต๋ถ๋ฅผ ์ํ์ฌ ์๋ฒ๊ฐ ํ์ํ ๋์ ์ฌ์ฉํ๋ฉด ์์ฃผ ์ ๋นํ ๊ฒ ๊ฐ๋ค ๐๐