Frontend/Test Driven
[Json-server] JSON-Server 이용해서 Mock API 만들기
romeoh
2019. 11. 25. 22:30
반응형
$ yarn global add json-server
json-server를 global로 설치합니다.
$ cd /project/path
$ mkdir mock-project
$ cd mock-project
$ yarn init
$ touch db.json
프로젝트를 설정하고, json 파일을 생성합니다.
db.json
{
"company": [
{
"id": 1,
"name": "Google",
"country": "USA"
},
{
"id": 2,
"name": "Samsung",
"country": "Korea"
},
{
"id": 3,
"name": "Xiaomi",
"country": "China"
}
],
"users": [
{
"id": 1,
"name": "Lee",
"role": "developer"
},
{
"id": 2,
"name": "Kim",
"role": "producer"
}
]
}
서버시작
$ json-server --watch db.json
$ json-server --watch db.json --port 5000
http://localhost:5000/company 브라우저로 접속하여 json 결과물을 확인할 수 있습니다.
postman으로 Restful API 확인
GET
$ curl -X GET http://localhost:5000/company
$ curl -X GET http://localhost:5000/company/1
POST
$ curl -X POST -H "Content-Type: application/json" -d '{
"id": 4,
"name": "Apple",
"country": "USA"
}' "http://localhost:5000/company"
POST 전송하면 db.json 파일에 직접 데이터가 추가되는것을 확인 할 수 있습니다.
PUT
curl -X PUT -H "content-type: application/json" -d '{
"id": 4,
"country": "미국"
}' "http://localhost:5000/company/4"
PUT 메서드로 변경된 데이터입니다.
PATCH
curl -X PATCH -H "content-type: application/json" -d '{
"country": "중국"
}' "http://localhost:5000/company/3"
PATCH로 변경된 데이터 입니다.
PUT과 PATCH의 차이
PUT은 변경된 전체 엔티티를 전달해야합니다.
PATCH는 변경할 속성만 전달하면 됩니다.
DELETE
curl -X DELETE http://localhost:5000/company/4
id: 4번이 삭제되었습니다.
반응형