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つ目:
GET
とPOST
の両方をサポート(アクションによって使い分け)
3. データ管理方法
1つ目: データのIDを手動で指定(更新・削除時に指定)
2つ目: 自動的に連番のIDが付与される(追加時)
4. パラメータ
1つ目:
action
,key
,id
,data
の4つのパラメータ2つ目:
action
,key
,id
,data
の4つのパラメータだが、POST
メソッドでも使用可能。data
とid
が条件付きで使用。
5. レスポンス
1つ目: レスポンスは基本的にJSON形式で全データ、または特定のIDを返却
2つ目: レスポンスはJSON形式だが、全データ取得時は
{ "ID": { ... } }
形式で、特定のID取得時はそのデータの内容のみを返す
6. エラーレスポンス
1つ目:
Key parameter is missing
やInvalid 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の違い(表形式)
エンドポイント
/v2/jsdb
/v2/jsdbv2
対応メソッド
GET のみ
GET / POST 両方対応
データの追加
IDを手動で指定
IDが自動で連番管理される
レスポンス形式
配列 [ {id: 1, name: "Alice"} ]
オブジェクト { "1": { name: "Alice" } }
エラー処理
文字列メッセージのみ
HTTPステータスコード+詳細なエラーJSON
データがない場合
{"error": "Data not found."}
空のJSONファイルが自動作成される
jsdb
と jsdbv2
の違いと特徴
jsdb
と jsdbv2
の違いと特徴現在、https://events-front.mixeder.net/v2/
では jsdb
と jsdbv2
という2つのJSONデータ管理APIが提供されています。
この2つのAPIは基本的な目的は同じですが、仕様やデータの管理方法に違いがあります。
ここでは、それぞれのAPIの違いを詳しく説明します。
1. エンドポイントの違い
APIのベースURLは同じですが、アクセスするエンドポイントが異なります。
jsdb
→https://events-front.mixeder.net/v2/jsdb
jsdbv2
→https://events-front.mixeder.net/v2/jsdbv2
jsdbv2
は jsdb
の改良版 であり、新しい機能やより柔軟なデータ管理が可能になっています。
2. リクエスト方法の違い
jsdb
は GETメソッドのみ対応 しており、データの取得専用です。jsdbv2
は GETとPOSTの両方 に対応しており、新しいデータの追加が可能です。
jsdb
ではデータの追加や更新ができないため、データを変更したい場合は別の方法が必要になります。
一方、jsdbv2
では POSTリクエストを使用することで、データを新規追加することができます。
3. データ管理の違い
jsdb の場合
データを取得する際には データIDを明示的に指定 する必要があります。 例えば、特定のIDのデータを取得する場合は、以下のようなリクエストになります。
jsdbv2 の場合
データを追加すると、IDが自動的に付与 されます。 IDは1からの連番になり、ユーザーが手動で指定する必要はありません。 これはデータの一貫性を保つのに役立ちます。
4. レスポンス形式の違い
jsdb のレスポンス
jsdb
のデータ取得時のレスポンスは 配列形式 になっています。
例えば、ID 1 のデータを取得すると、以下のようなレスポンスが返されます。
jsdbv2 のレスポンス
jsdbv2
のレスポンスは オブジェクト形式 になっており、IDがキーとして扱われます。
例えば、データを取得すると以下のようなレスポンスになります。
この形式では、データを簡単に検索・管理しやすくなります。
5. エラーハンドリングの違い
jsdb のエラーハンドリング
jsdb
はエラーが発生した際、シンプルな文字列メッセージを返します。
例えば、データが存在しない場合、以下のようなレスポンスになります。
jsdbv2 のエラーハンドリング
jsdbv2
は HTTPステータスコード と 詳細なエラーメッセージ を返します。
例えば、リクエストが不正だった場合、以下のようなレスポンスが返されます。
この違いにより、jsdbv2
の方がエラー処理がしやすく、APIの利用時にトラブルが発生した際に原因を特定しやすくなっています。
6. データが存在しない場合の挙動の違い
jsdb
では、データが存在しない場合に"error": "Data not found."
のエラーメッセージを返します。jsdbv2
では、データが存在しない場合でも空のJSONオブジェクト{}
が返され、新しいデータが追加される際に自動的にJSONファイルが作成されます。
まとめ
jsdbv2
は jsdb
の改良版 であり、以下のような利点があります。
✅ データの追加が簡単に可能(POST対応)
✅ IDが自動管理される(手動指定不要)
✅ エラーハンドリングが詳細化
✅ データのレスポンスがオブジェクト形式で扱いやすい
一方で、シンプルなデータ取得のみが必要な場合は、jsdb
でも十分に利用できます。
どちらのAPIを使用するかは、プロジェクトの要件に応じて選択するとよいでしょう。
最終更新
役に立ちましたか?