HTTP_dbは、HTTP を使用してデータの書き込みや読み込みを行う、簡易的かつとっつき易い、データベースマネージャーです。
データベースのルートディレクトリにpasswordというファイルを作り、その中にパスワードを書き込むと、それがパスワードになります。
パスワードを設定すると、getやpostなどの際に、パスワードをJSONに入れて送信する必要があります。
パスワードのリクエスト JSON の形は下記の通りです。
{
"password": "パスワード"
}
例えばパスワードのかかったデータベースにgetでnameという値を取りたい場合は下記の 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形式で送信されます。
キーが存在しない場合はdescriptionにinvalid key.が渡されて、statusがerrorで返ります。
{
"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に対応するデータベースの値を削除します。
キーが存在しない場合はdescriptionにinvalid key.が渡されて、statusがerrorで返ります。
{
"key": "name"
}
成功
{
"status": "success"
}
失敗
{
"status": "error",
"description": "エラー内容"
}
| 概要 | 値 |
|---|---|
| エンドポイント | /delete_all |
| メソッド | POST |
| 戻りデータ形式 | json/application |
データベースのすべての値を削除します。
成功
{
"status": "success"
}
失敗
{
"status": "error",
"description": "エラー内容"
}
| 概要 | 値 |
|---|---|
| エンドポイント | /ping |
| メソッド | GET |
| 戻りデータ形式 | json/application |
サーバーでリクエストを処理した時間を返します。
時間は Unix タイムスタンプで返されます。
{
"status": "success",
"time": 123456789.12345679
}
| 概要 | 値 |
|---|---|
| エンドポイント | /exists/<key> |
| メソッド | GET |
| 戻りデータ形式 | json/application |
JSONが返ってきます。
データベースのキーにkeynameが存在した場合はexistにtrue、存在しない場合はfalseを返します。
{
"keyname": "name"
}
存在した場合
{
"exist": true
}
存在しなかった場合
{
"exist": false
}
| 概要 | 値 |
|---|---|
| エンドポイント | /reload |
| メソッド | POST |
| 戻りデータ形式 | json/application |
データベースのファイル及びリモートから変数を再読み込みします。
成功
{
"status": "success"
}
失敗
{
"status": "error",
"description": "cannot open database file."
}