👌
RESTful API 付き XML オブジェクトデータベース | Node.js
ソース
目的
RESTful API を備えた、オブジェクトの中身を直接視認できるデータベース
要件
・HTTPリクエスト (GET, POST, PUT, DELETE) でデータ操作
・データストアは、オブジェクトごとの単一 XML ファイル
背景
json-server の、XML版みたいなものを作りたかった
実装
Setup
1. インストール
git clone https://github.com/bbsfish/xml-server.git
cd xml-server
npm install
2. 設定ファイル(.env)作成
/xml-server
├ /lib
├ /data ← フォルダ作成!
├ .env
└ index.js
.env
PORT = 8999 # Server Port
LOGGER_LEVEL = "all" # Log level for 'log4js'
FOLDER = "./data" # Folder for XML Files
FILEFORMAT = "XML" # File Extention
USE_LOGGING = 1 # Use logging (making backup); 1 is enable, 0 is disable.
LOG_OUTPUT_FILE = "./data/backup.db" # File for logging DB
3. Launch server
node ./index.js
How to use
HTTP リクエストは、上記設定の場合、http://localhost:8999/{id}
に対して行う.
id
はリソースごとに一意な値である.
利用できるHTTPリクエストは、次の通りである。
1. GET データの取得
2. POST データの登録
3. PUT データの更新
4. DELETE データの削除
Tutorial
POST
例えば、このような HTTP リクエストを発行する.
URL | METHOD | DATA |
---|---|---|
http://localhost:8999/hogehoge |
POST | {"name": "foo"} |
すると、data フォルダに hogehoge.XML
というファイルが生成される.
hogehoge.xml
<name>
foo
</name>
GET
つぎに、次のような HTTP リクエストを発行する.
URL | METHOD | DATA |
---|---|---|
http://localhost:8999/hogehoge |
GET |
この場合、もし hogehoge.xml
があれば、
{"name": "foo"}
というオブジェクトが返却される.
PUT, DELETE
最後に、PUT および DELETE について説明する.
PUT はデータの更新をする. もし ID が存在しない場合、なにもされない.
URL | METHOD | DATA |
---|---|---|
http://localhost:8999/hogehoge |
PUT | {"name": "foo is updated!"} |
DELETE はデータの削除をする. もし ID が存在しない場合、なにもされない.
URL | METHOD | DATA |
---|---|---|
http://localhost:8999/hogehoge |
DELETE |
最後に
GET のフィルター機能などは一切ない. 検討中.
Discussion