HTTP_db

API リファレンス(サーバー)

HTTP_dbは、HTTP を使用してデータの書き込みや読み込みを行う、簡易的かつとっつき易い、データベースマネージャーです。

パスワードでデータベースを保護する

データベースのルートディレクトリにpasswordというファイルを作り、その中にパスワードを書き込むと、それがパスワードになります。
パスワードを設定すると、getpostなどの際に、パスワードをJSONに入れて送信する必要があります。
パスワードのリクエスト JSON の形は下記の通りです。

{
  "password": "パスワード"
}

例えばパスワードのかかったデータベースにgetnameという値を取りたい場合は下記の JSON を/getエンドポイントに送ります。

{
  "password": "パスワード",
  "key": "name"
}

パスワードがかかっていないデータベースの場合にはpasswordは不要です。

パスワード認証に失敗すると、エラーが返ってきます。

これはHTTP_db v1.2での追加機能です。
なお、下記すべての API リファレンスでは、パスワードが設定されていないものとします。
設定されている場合は上記の通りにpasswordをつけてください。

データの書き込み

概要
エンドポイント /post
メソッド POST
送信データ形式 json/application
戻りデータ形式 json/application

書き込みにはJSON形式で値を渡します。
渡された JSON の値でデータベースの辞書が更新されます。
同一キーだった場合は上書きされます。

{
  "keyname": "items"
}

成功

{
  "status": "success"
}

失敗

{
  "status": "error",
  "description": "エラー内容"
}

データの読み込み

概要
エンドポイント /get/<key>
メソッド POST
戻りデータ形式 json/application

keyに対応するデータベースの値がJSON形式で送信されます。
キーが存在しない場合はdescriptioninvalid key.が渡されて、statuserrorで返ります。

{
  "key": "name"
}

成功

{
  "status": "success",
  "value": "{'name':'nattyantv'}"
}

失敗

{
  "status": "error",
  "description": "エラー内容"
}

データの全読み込み

概要
エンドポイント /get_all
メソッド POST
戻りデータ形式 json/application

すべてのデータベースの値がJSON形式で送信されます。

{
  "name": "nattyantv",
  "age": -999,
  "address": "Earth"
}

データの削除

概要
エンドポイント /delete/<key>
メソッド POST
戻りデータ形式 json/application

keyに対応するデータベースの値を削除します。
キーが存在しない場合はdescriptioninvalid key.が渡されて、statuserrorで返ります。

{
  "key": "name"
}

成功

{
  "status": "success"
}

失敗

{
  "status": "error",
  "description": "エラー内容"
}

データの全削除

概要
エンドポイント /delete_all
メソッド POST
戻りデータ形式 json/application

データベースのすべての値を削除します。

成功

{
  "status": "success"
}

失敗

{
  "status": "error",
  "description": "エラー内容"
}

Ping レスポンス

概要
エンドポイント /ping
メソッド GET
戻りデータ形式 json/application

サーバーでリクエストを処理した時間を返します。
時間は Unix タイムスタンプで返されます。

{
  "status": "success",
  "time": 123456789.12345679
}

キーの存在チェック

概要
エンドポイント /exists/<key>
メソッド GET
戻りデータ形式 json/application

JSONが返ってきます。
データベースのキーにkeynameが存在した場合はexisttrue、存在しない場合はfalseを返します。

{
  "keyname": "name"
}

存在した場合

{
  "exist": true
}

存在しなかった場合

{
  "exist": false
}

データベースの再読み込み

概要
エンドポイント /reload
メソッド POST
戻りデータ形式 json/application

データベースのファイル及びリモートから変数を再読み込みします。

成功

{
  "status": "success"
}

失敗

{
  "status": "error",
  "description": "cannot open database file."
}