🪣
[React] 가짜 API 서버로 통신하기
November 21, 2022
연습을 위해서 실무와 비슷한 느낌으로 하기 위해 가짜 API 서버를 만들어 통신을 해보았다.
가짜 API 서버 열기
$ npx json-server ./data.json --port 4000
./data.json
에는 해당 파일 이름을 적고, 4000
에는 원하는 포트번호를 적어 서버를 열 수 있다.
axios 를 사용하여 API 요청하기
마이리스트 페이지, 댓글을 구현할 때 json-server를 이용했다.
todos.json
{
"todos": [
{
"title": "잘 된다.",
"completed": false,
"id": 1
},
{
"title": "patch 너무너무 잘된다.",
"completed": false,
"id": 2
},
{
"title": "잘 된다잉~",
"completed": true,
"id": 3
}
]
}
comment.json
{
"comments": [
{
"content": "너무 멋져요",
"writer": "yerin",
"postId": "123123",
"created_at": "Mon Nov 28 2022 18:34:08 GMT+0900 (한국 표준시)",
"id": 1
},
{
"content": "기본값으로 꼭 넣어주세요!!! 감사함다~",
"writer": "Jisoo",
"postId": "123123",
"created_at": "Mon Nov 28 2022 18:35:26 GMT+0900 (한국 표준시)",
"id": 2
}
]
}
🔳 참고
JSON server용으로 만들어진 JWT 인증 미들웨어이다.
회원가입 페이지에서 간단하게 이용했다.
JSON server 시작하기
json-server db.json -m ./node_modules/json-server-auth
회원가입 : POST /users
POST /users
{
"users": [
{
"email": "abc@abc.com",
"password": "$2a$10$d17.gKfdjm6rt.3xDBLEhetru.QTQ4ondBcOFw53T4/19XWyNgv72",
"name": "abc",
"id": 1
}
]
}
회원가입을 시도하니 위처럼 데이터가 등록되었다.
아쉬운 점
json-server-auth는 회원 가입 또는 로그인 시 accessToken만을 응답으로 내려주기 때문에 사용자를 식별할 방법이 없다. 만약, 필요하다면 직접 구현을 해야 할 것 같다.