API 모의에 편리한 json-server를 docker를 사용하여 빌드 해보기
json-server
를 추천합니다.json-server
는 npm으로 설치하지만, 개발 머신을 더럽히고 싶지 않을 때는 docker
를 사용하여 구축하고 싶습니다. 그래서 docker를 사용하여 json-server를 구축해 보았습니다. github에 샘플 코드를 얹어 있습니다.htps : // 기주 b. 코 m / 키요 27 / j 그렇게 r ゔ ぇ r 도 c
Dockerfile 준비
기본 이미지에 node를 사용하여 npm으로 json-server를 설치하고 있습니다. 컨테이너를 시작할 때 json-server를 옵션으로 시작할 수 있도록 했으므로 컨테이너를 시작하면 그대로 json-server를 사용할 수 있습니다.
FROM node:latest
RUN npm install -g json-server
WORKDIR /data
EXPOSE 3000
ENTRYPOINT ["json-server"]
CMD ["--watch", "db.json", "--host", "0.0.0.0"]
컨테이너 시작
준비한 Dockerfile을 사용하여 컨테이너를 시작합니다.
# ビルド
docker build -t json-server .
# 起動
docker run --name json-server -p 3000:3000 -v `pwd`/db:/data json-server
컨테이너가 기동할 수 있으면 http://localhost:3000 을 열어 톱 페이지가 표시되면 성공입니다.
사용법
json-server는 GET, POST, DELETE, PUT, PATCH를 지원합니다.
GET
$ curl -X GET http://localhost:3000/posts
[
{
"id": 1,
"title": "json-server",
"author": "typicode"
},
{
"id": 2,
"title": "new post",
"author": "user"
}
]
id
를 지정해 취득할 수도 있습니다. 경로 매개 변수를 사용하면 배열이 아닌 개체에서 반환됩니다.# クエリパラメータを使用
$ curl -X GET http://localhost:3000/posts?id=1
[
{
"id": 1,
"title": "json-server",
"author": "typicode"
}
]
# パスパラメータを使用
$ curl -X GET http://localhost:3000/posts/1
{
"id": 1,
"title": "json-server",
"author": "typicode"
}
_embed
를 사용하면 자식 요소도 지정하여 검색할 수 있습니다.$ curl -X GET 'http://localhost:3000/posts?_embed=comments&id=1'
[
{
"id": 1,
"title": "json-server",
"author": "typicode",
"comments": [
{
"id": 1,
"body": "some comment",
"postId": 1
}
]
}
]
POST
POST를 사용하여 요소를 추가할 수도 있습니다.
$ curl -X POST -H "Content-Type: application/json" -d '{"title":"third post","author":"user"}' http://localhost:3000/posts
{
"title": "third post",
"author": "user",
"id": 3
}
추가된 데이터는
db.json
에 저장됩니다.db.json
{
"posts": [
{
"id": 1,
"title": "json-server",
"author": "typicode"
},
{
"id": 2,
"title": "new post",
"author": "user"
},
{
"title": "third post",
"author": "user",
"id": 3
}
],
"comments": [
{
"id": 1,
"body": "some comment",
"postId": 1
}
],
"profile": {
"name": "typicode"
}
}
PUT, PATCH
json-server에서는 데이터 업데이트도 가능합니다.
$ curl -X PUT -H "Content-Type: application/json" -d '{"title":"mod post","author":"user"}' http://localhost:3000/posts/3
{
"title": "mod post",
"author": "user",
"id": 3
}
$ curl -X GET http://localhost:3000/posts?id=3
[
{
"title": "mod post",
"author": "user",
"id": 3
}
]
$ curl -X PATCH -H "Content-Type: application/json" -d '{"title":"patch post","author"":"user"}' http://localhost:3000/posts/3
{
"title": "patch post",
"author": "user",
"id": 3
}
$ curl -X GET http://localhost:3000/posts?id=3
[
{
"title": "patch post",
"author": "user",
"id": 3
}
]
DELETE
DELETE
메서드를 사용하면 요소를 삭제할 수 있습니다.$ curl -X DELETE http://localhost:3000/posts/3
$ curl -X GET http://localhost:3000/posts
[
{
"id": 1,
"title": "json-server",
"author": "typicode"
},
{
"id": 2,
"title": "new post",
"author": "user"
}
]
자바스크립트를 사용하면 여러가지 커스터마이즈할 수 있습니다만, 그것은 또 이번.
Reference
이 문제에 관하여(API 모의에 편리한 json-server를 docker를 사용하여 빌드 해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kiyo27/items/51df5eb0b383e4048ba3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)