忍者ブログ
  ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
Admin*Write*Comment
[722]  [721]  [720]  [719]  [718]  [717]  [716

とある案件でAPIを実装することになりました。
クライアント側とサーバ側でベンダー異なるのですが、サーバ側の実装を待たずしてクライアント側でテスト的にモックが欲しいとのこと。
Google先生に聞いてみたらRESTfulなAPIをサクッと作れるミドルウェアがあると聞いて!
nodeで実装されたJSON形式のファイルを取り扱えるみたい。
早速試してみました!!

# OSの確認
$ uname -a
Linux localhost 4.4.0-128-generic #154-Ubuntu SMP Fri May 25 14:15:18 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/debian_version
stretch/sid
# まず、環境を整えます
sudo apt install -y npm
sudo npm install -g json-server
ln -s /usr/bin/nodejs /usr/bin/node
npm install -g n
n stable
json-server -v
# ダミーデータを投入
cat << __ > db.json
{
    "prefecture": [
            {"id":1, "name": "北海道", "yomi": "ホッカイドウ"},
            {"id":2, "name": "青森県", "yomi": "アオモリケン"}
        ]
}
__
# そしてサーバを起動
json-server db.json --watch --port 80 --host 192.168.3.91&
# GETのテスト
curl http://192.168.3.91/prefecture
curl http://192.168.3.91/prefecture/1

# POSTのテスト
curl http://192.168.3.91/prefecture -d 'name=岩手県&yomi=イワテケン'
curl http://192.168.3.91/prefecture -d 'name=宮城県&yomi=ミヤギケン'

# DELETEのテスト
curl http://192.168.3.91/prefecture/3  -X DELETE
curl http://192.168.3.91/prefecture -d 'name=岩手県&yomi=イワテケン'
curl http://192.168.3.91/prefecture

# IDのインクリメントの法則を試してみる
curl http://192.168.3.91/prefecture/4  -X DELETE
curl http://192.168.3.91/prefecture/5  -X DELETE
curl http://192.168.3.91/prefecture

# 再びPOST
curl http://192.168.3.91/prefecture -d 'name=岩手県&yomi=イワテケン'
curl http://192.168.3.91/prefecture -d 'name=宮城県&yomi=ミヤギケン'
curl http://192.168.3.91/prefecture

なるほど、これなら簡単ね(*^^*)
ただ、POSTが必ずしも登録ではなく、リクエストの一環としてやってくることも多いのが少し悩ましいところね。

以上、JSON-Serverでした。

拍手

PR



COMMENT
Name
Title
Color
Mail
URL
Text
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
ブログ内検索
カレンダー
08 2018/09 10
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
カウンター
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
ブログパーツ
アバター
Copyright © アナログを愛するデジタル生活館 All Rights Reserved.
photo by Kun material by Atelier Black/White Template by Kaie
忍者ブログ [PR]