JSDB V1とV2の相違点

1. エンドポイント URL

  • 1つ目: https://events-front.mixeder.net/v2/jsdb

  • 2つ目: https://events-front.mixeder.net/v2/jsdbv2

2. HTTPメソッド

  • 1つ目: GET のみでリクエスト

  • 2つ目: GETPOST の両方をサポート(アクションによって使い分け)

3. データ管理方法

  • 1つ目: データのIDを手動で指定(更新・削除時に指定)

  • 2つ目: 自動的に連番のIDが付与される(追加時)

4. パラメータ

  • 1つ目: action, key, id, data の4つのパラメータ

  • 2つ目: action, key, id, data の4つのパラメータだが、POST メソッドでも使用可能。dataid が条件付きで使用。

5. レスポンス

  • 1つ目: レスポンスは基本的にJSON形式で全データ、または特定のIDを返却

  • 2つ目: レスポンスはJSON形式だが、全データ取得時は { "ID": { ... } } 形式で、特定のID取得時はそのデータの内容のみを返す

6. エラーレスポンス

  • 1つ目: Key parameter is missingInvalid URL など

  • 2つ目: 400や404ステータスコードで、具体的なエラーメッセージ(例: Invalid action specified, Key parameter is missing

7. アクションのデフォルト

  • 1つ目: action=read がデフォルト

  • 2つ目: action=read がデフォルトだが、GET でのリクエストも POST でのリクエストも可能

8. データの保存

  • 1つ目: 指定された key に対応するJSONファイルにデータを保存

  • 2つ目: 指定された key に対応するJSONファイルにデータを保存。データが存在しない場合、新しい空のファイルが自動で作成される

9. レスポンス例

  • 1つ目: レスポンスが直接的に成功メッセージ(例: { "success": "Data added successfully." }

  • 2つ目: レスポンスにID情報が含まれることがあり、追加時の成功レスポンスにID(例: { "success": "Data added successfully.", "id": 3 }

APIの違い(表形式)

項目
jsdb
jsdbv2

エンドポイント

/v2/jsdb

/v2/jsdbv2

対応メソッド

GET のみ

GET / POST 両方対応

データの追加

IDを手動で指定

IDが自動で連番管理される

レスポンス形式

配列 [ {id: 1, name: "Alice"} ]

オブジェクト { "1": { name: "Alice" } }

エラー処理

文字列メッセージのみ

HTTPステータスコード+詳細なエラーJSON

データがない場合

{"error": "Data not found."}

空のJSONファイルが自動作成される

jsdbjsdbv2 の違いと特徴

現在、https://events-front.mixeder.net/v2/ では jsdbjsdbv2 という2つのJSONデータ管理APIが提供されています。 この2つのAPIは基本的な目的は同じですが、仕様やデータの管理方法に違いがあります。 ここでは、それぞれのAPIの違いを詳しく説明します。


1. エンドポイントの違い

APIのベースURLは同じですが、アクセスするエンドポイントが異なります。

  • jsdbhttps://events-front.mixeder.net/v2/jsdb

  • jsdbv2https://events-front.mixeder.net/v2/jsdbv2

jsdbv2jsdb の改良版 であり、新しい機能やより柔軟なデータ管理が可能になっています。


2. リクエスト方法の違い

  • jsdbGETメソッドのみ対応 しており、データの取得専用です。

  • jsdbv2GETとPOSTの両方 に対応しており、新しいデータの追加が可能です。

jsdb ではデータの追加や更新ができないため、データを変更したい場合は別の方法が必要になります。 一方、jsdbv2 では POSTリクエストを使用することで、データを新規追加することができます。


3. データ管理の違い

jsdb の場合

データを取得する際には データIDを明示的に指定 する必要があります。 例えば、特定のIDのデータを取得する場合は、以下のようなリクエストになります。

bashコピーする編集するGET /v2/jsdb?id=1

jsdbv2 の場合

データを追加すると、IDが自動的に付与 されます。 IDは1からの連番になり、ユーザーが手動で指定する必要はありません。 これはデータの一貫性を保つのに役立ちます。


4. レスポンス形式の違い

jsdb のレスポンス

jsdb のデータ取得時のレスポンスは 配列形式 になっています。 例えば、ID 1 のデータを取得すると、以下のようなレスポンスが返されます。

jsonコピーする編集する[
  { "id": 1, "name": "Alice" }
]

jsdbv2 のレスポンス

jsdbv2 のレスポンスは オブジェクト形式 になっており、IDがキーとして扱われます。 例えば、データを取得すると以下のようなレスポンスになります。

jsonコピーする編集する{
  "1": { "name": "Alice" }
}

この形式では、データを簡単に検索・管理しやすくなります。


5. エラーハンドリングの違い

jsdb のエラーハンドリング

jsdb はエラーが発生した際、シンプルな文字列メッセージを返します。 例えば、データが存在しない場合、以下のようなレスポンスになります。

jsonコピーする編集する{ "error": "Data not found." }

jsdbv2 のエラーハンドリング

jsdbv2HTTPステータスコード詳細なエラーメッセージ を返します。 例えば、リクエストが不正だった場合、以下のようなレスポンスが返されます。

jsonコピーする編集する{
  "status": 400,
  "message": "Invalid request."
}

この違いにより、jsdbv2 の方がエラー処理がしやすく、APIの利用時にトラブルが発生した際に原因を特定しやすくなっています。


6. データが存在しない場合の挙動の違い

  • jsdb では、データが存在しない場合に "error": "Data not found." のエラーメッセージを返します。

  • jsdbv2 では、データが存在しない場合でも空のJSONオブジェクト {} が返され、新しいデータが追加される際に自動的にJSONファイルが作成されます。

まとめ

jsdbv2jsdb の改良版 であり、以下のような利点があります。 ✅ データの追加が簡単に可能(POST対応)IDが自動管理される(手動指定不要)エラーハンドリングが詳細化データのレスポンスがオブジェクト形式で扱いやすい

一方で、シンプルなデータ取得のみが必要な場合は、jsdb でも十分に利用できます。 どちらのAPIを使用するかは、プロジェクトの要件に応じて選択するとよいでしょう。

最終更新

役に立ちましたか?