Help us understand the problem. What is going on with this article?

CentOSへJSON Serverをインストール

More than 1 year has passed since last update.

書いてあること

  • CentOSへのJSON Serverのインストール手順
  • ターミナルからの各種操作方法

環境

  • CentOS Linux release 7.6.1810 (Core)
  • Node.js v10.16.0
  • Npm 6.9.0
  • JSON Server 0.15.0

インストール

Node.jsをインストール

CentOSへNode.jsをインストール

JSON Serverをインストール

bash
#グローバルにインストールする場合
$ npm install -g json-server

#ローカル(プロジェクト)にインストールする場合
$ npm install --save json-server

JSON Server起動

db.json(テストデータ)を作成

db.json
{
  "profile": {
    "name": "name",
    "email": "xxxxx@gmail.com"
  },
  "posts": [
    {
      "id": 1,
      "title": "title1"
    },
    {
      "id": 2,
      "title": "title2"
    }
  ]
}

JSON Serverを起動

watchで変更内容がリアルタイムで参照可能、portでポート番号を指定

bash
#グローバルにインストールした場合
$ json-server --watch db.json --port 3000

#ローカル(プロジェクト)にインストールした場合
$ npx json-server --watch db.json --port 3000

リソース操作(ターミナル)

全データ取得

bash
$ curl -X GET http://localhost:3000/posts

[
  {
    "id": 1,
    "title": "title1"
  },
  {
    "id": 2,
    "title": "title2"
  }
]

指定データ取得(id指定)

idがあると下記のようにidを指定したデータを取得可能

bash
$ curl -X GET http://localhost:3000/posts/2

{
  "id": 2,
  "title": "title2"
}

指定データ取得(条件指定)

クエリストリングによる条件指定でデータを取得可能

bash
$ curl -X GET http://localhost:3000/posts/?title=title2

{
  "id": 2,
  "title": "title2"
}

データを追加

idは自動的に採番される

bash
$ curl -X POST http://localhost:3000/posts -d 'title=title2'
$ curl -X GET http://localhost:3000/posts

[
  {
    "id": 1,
    "title": "title1"
  },
  {
    "id": 2,
    "title": "title2"
  },
  {
    "id": 3,
    "title": "title3"
  }
]

データを更新

bash
$ curl -X PUT http://localhost:3000/posts/3 -d 'title=title33'
$ curl -X GET http://localhost:3000/posts

[
  {
    "id": 1,
    "title": "title1"
  },
  {
    "id": 2,
    "title": "title2"
  },
  {
    "id": 3,
    "title": "title33"
  }
]

データを削除

bash
$ curl -X DELETE http://localhost:3000/posts/3
$ curl -X GET http://localhost:3000/posts

[
  {
    "id": 1,
    "title": "title1"
  },
  {
    "id": 2,
    "title": "title2"
  }
]

ブラウザから確認

http://localhost:3000/posts
http://localhost:3000/profile

yoshi0518
社内SEによる個人メモ。ほぼ自己学習なので間違っていたらすいません。。。
https://www.n-asset.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした