バックエンドが存在する前にUIを構築する場合、レンダリングするためのデータが必要です。DummyJSONは、それを最も迅速に入手する方法の1つです。これは、リアルな製品、ユーザー、カートなどをプレーンなHTTP経由で提供する無料のホスト型偽REST APIで、サインアップは不要です。このガイドでは、DummyJSONが提供するもの、他の公開テストAPIとの比較、そして固定のプレースホルダーデータでは不十分になった場合の対処法について説明します。ボタン
DummyJSONとは?
DummyJSONは、無料のプレースホルダーJSON APIです。公開エンドポイントにリクエストを送信すると、構造化された信頼性の高いサンプルデータが返されます。データベースのセットアップも、キーの登録も不要です。これは、フロントエンド開発者、学生、そしてプロトタイプを作成する誰もが、コード内で配列をハードコーディングする代わりに、実際のネットワークエンドポイントにアクセスできるようにするために存在します。

データは偽物ですが、一貫性があります。製品にはタイトル、価格、評価、在庫数、カテゴリがあります。ユーザーには名前、メールアドレス、住所、会社があります。この一貫性により、DummyJSONはテーブル、カード、ページネーション、詳細ページを実際のもののようにつなぎ合わせるのに役立ちます。レコードは本番データが通常そうであるようにネストされ型付けされているため、独自のフィクスチャを最初に作成することなく、フィルター、ソートコントロール、詳細ビューを構築できます。
DummyJSONはすべてHTTPS経由でJSONとして提供されるため、ブラウザのフェッチ、モバイルアプリ、curlコマンド、またはサーバーサイドスクリプトから同じように動作します。インストールするものは何もありません。URLにリクエストを送信するとデータが返され、これは実際のAPIがまだ存在しないプロジェクトの初期段階でまさに求めているものです。
これは学習およびプロトタイピングツールであり、その役割を十分に果たします。チュートリアルや簡単なデモでフェッチするエンドポイントが必要な場合、時間を大幅に節約できます。
DummyJSONのエンドポイント、認証、制限
DummyJSONはいくつかのリソースコレクションを公開しています。一般的なものは次のとおりです。
/products、価格、在庫、評価付きの商品カタログ/users、住所、メールアドレス、会社詳細付きの人物/carts、ユーザーに紐付いたショッピングカート/postsと/comments、ブログ形式のコンテンツ/todos、タスク項目/recipesと/quotes、追加のコンテンツセット
各コレクションは、REST APIに期待されるパターンをサポートしています。すべてのレコードの取得、IDによる取得、検索、カテゴリによるフィルター、limitとskipによるページネーションが可能です。selectパラメータは応答を特定のフィールドに絞り込み、delayパラメータ(0から5000ミリ秒)はネットワークの遅延をシミュレートしてローディング状態をテストできます。
基本的な読み取りは次のとおりです。
curl https://dummyjson.com/products?limit=5&skip=10
認証にはログインエンドポイントとベアラートークンを使用します。資格情報を/auth/loginにPOSTし、トークンを受け取り、保護されたリクエストで送信します。
# 1. ログインしてトークンを取得
curl -X POST https://dummyjson.com/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"emilys","password":"emilyspass"}'
# 2. 認証済みリクエストでトークンを使用
curl https://dummyjson.com/auth/me \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE'
書き込みもサポートされています。POST、PUT、PATCH、DELETEリクエストを送信でき、APIは変更が発生したかのように応答します。ただし、これらの書き込みはシミュレートされたものです。DummyJSONは更新または作成されたように見えるレコードをエコーバックしますが、何も永続化されません。リフレッシュすると、「新しい」製品は消えてしまいます。これは共有公開サービス設計のためであり、理解すべき最も重要な制限です。ドキュメントには厳密なレート制限は公開されていませんが、無料の共有エンドポイントは慎重に扱い、負荷テストを向けないでください。
DummyJSON以外に利用可能なものをさらに詳しく知りたい場合は、開発者向けの無料APIのまとめで、多くのカテゴリのオプションが紹介されています。
DummyJSON対JSONPlaceholder対Reqres
DummyJSONだけが唯一の無料の偽REST APIではありません。最も比較されるのはJSONPlaceholderとReqresです。これらは重複していますが、それぞれ異なる傾向を持っています。
| ツール | 最適な用途 | リソース | 認証フロー | 書き込みは永続的か? |
|---|---|---|---|---|
| DummyJSON | リアルなEコマーススタイルのデモ | 製品、ユーザー、カート、投稿、レシピなど | ログインエンドポイント + ベアラートークン | いいえ(シミュレート) |
| JSONPlaceholder | 簡単なCRUDチュートリアル、最小限のセットアップ | 投稿、コメント、ユーザー、ToDo、アルバム、写真 | なし | いいえ(シミュレート) |
| Reqres | 認証とリクエスト/レスポンスフローのデモ | ユーザー、登録/ログインのモック | モック登録/ログイン | いいえ(シミュレート) |
3つすべてに共通するパターンがあります。固定された読み取りがほとんどのデータが得られ、書き込みは偽装され、返されるデータの形式を変更することはできません。JSONPlaceholderは内部でjson-serverを使用しているため、そのデータモデルは非常に汎用的だと感じられます。DummyJSONは、実際の店舗に似たデータが必要な場合に優れています。Reqresは、特にログイン画面をデモする場合に便利です。
公式ソースはブックマークする価値があります: JSONPlaceholder と、セルフホストしたい場合やコードを読みたい場合のDummyJSON GitHubリポジトリ。
固定のプレースホルダーデータでは不十分な場合
ホストされた偽APIは、プロジェクトが具体的になるとすぐに限界に達します。次のような場合にそれを感じることでしょう。
- アプリにDummyJSONにはないフィールドが必要な場合。
subscription_tierやfeature_flagsのようなオブジェクトはスキーマになく、追加することもできません。 - 永続的な書き込みが必要な場合。カートフローや管理パネルを構築するには、レコードを作成してそれを読み戻す必要があります。シミュレートされた書き込みでは、このループが機能しません。
- エラーパスをテストする必要がある場合。実際のアプリは
429、500、または不正なペイロードを処理できなければなりません。固定成功型APIは、それらをオンデマンドで生成しません。 - 実際のサーバーが出荷される前に、フロントエンドとバックエンドが同意するように、データが独自のOpenAPIコントラクトと一致する必要がある場合。
これは、他人の偽APIを借りるのをやめて、独自のAPIを生成し始めるポイントです。あなたは同じくバックエンドなしの利便性を求めますが、自分のスキーマ、自分のフィールド名、そして制御可能な応答が必要です。
Apidogで独自のカスタム偽REST APIを構築する方法
Apidogは、APIの設計、テスト、ドキュメント作成、モックをすべて一箇所で行うAPIプラットフォームです。そのモックサーバーは、固定データでは限界を感じたときに、ホスト型偽APIの代わりとなる機能です。DummyJSONが返すものをそのまま受け入れるのではなく、エンドポイントとデータ形式を定義し、Apidogがそれに一致するリアルな応答を生成します。これに沿って進めるには、Apidogをダウンロードして無料プロジェクトを作成してください。
ボタン
フローは次のとおりです。
1. エンドポイントとスキーマを定義します。 GET /productsのようなエンドポイントを作成し、応答フィールド(id、title、price、stock、category)を記述します。これは手動で行うことも、既存のOpenAPI/Swaggerファイルをインポートしてモックが実際の契約と一致するようにすることもできます。
2. スマートモックにデータを生成させます。 Apidogはフィールド名と型を読み取り、自動的に適切な値を生成します。emailという名前のフィールドはメールアドレスを返し、priceは数値を返し、createdAtは日付を返します。手動でフィクスチャを作成する必要はありません。Fakerを使ったことがあるなら、これはプラットフォームに組み込まれた同じアイデアです。OpenAPIスキーマからモックデータを生成するガイドでは、スキーマ駆動型側について詳しく説明しています。
3. 値とエッジケースをカスタマイズします。 priceの特定の範囲、statusの固定列挙型、またはエラー処理をテストするための意図的な500応答が必要ですか?フィールドごと、応答ごとにルールを設定できます。これは、定義を自分で所有しているため、ホスト型APIではできない部分です。
4. モックサーバーを実行し、それを呼び出します。 ApidogはライブURLを提供します。フロントエンドをDummyJSONを指すのとまったく同じようにそれに向けますが、今ではすべてのフィールドとステータスコードはあなたのものです。
curl https://<your-mock-host>/products?limit=5
モックはあなたのスキーマから生成されるため、API仕様が変更されるとモックもそれに合わせて変更されます。あなたの偽データと実際の契約がずれることはありません。より現実的で多様なデータセットが必要な場合、現実的なAPIテストデータの作成のアプローチは、モック駆動開発と非常によく合います。

正直なトレードオフ:使い捨てのデモでは、設定不要なDummyJSONがスピードで優位に立ちます。Apidogは、独自のスキーマ、永続的な書き込み、制御可能なエラー、または出荷予定の実際のAPIと同期するモックが必要になった瞬間に優位に立ちます。
よくある質問
DummyJSONは無料で利用できますか?
はい。DummyJSONは無料で、APIキーは不要です。ブラウザ、curl、またはアプリから直接パブリックエンドポイントを呼び出すことができます。他の共有無料サービスと同様に、本番環境のトラフィックや負荷テストではなく、プロトタイピングや学習を目的としています。
DummyJSONは作成または更新したデータを保存しますか?
いいえ。POST、PUT、PATCH、DELETEリクエストは成功したように見える応答を返しますが、サーバー上には何も永続化されません。次の読み取りでは元のデータが返されます。実際に永続する書き込みが必要な場合は、独自のモックを構築してください。モックAPIのガイドでは、シミュレートされたモックとステートフルなモックの違いについて説明しています。
DummyJSONとモックサーバーの違いは何ですか?
DummyJSONは、誰もが共有する固定されたホスト型データセットです。Apidogのようなモックサーバーは、あなたのスキーマに対して実行され、あなたが定義したデータとステータスコードを返します。一般的なデモにはDummyJSONを使い、データが独自のAPIと一致する必要がある場合はモックサーバーを使用します。
明らかなプレースホルダーではなく、リアルなデータを取得できますか?
はい、スキーマから生成すれば可能です。スキーマ駆動型ツールはフィールド名と型を読み取り、自動的に信憑性のある値を生成するため、emailフィールドはメールアドレスのように見え、priceは価格のように見えます。これが、チームが固定された偽APIから独自のモックに移行する主な理由です。
結論
DummyJSONは、堅牢な無料の偽REST APIです。バックエンドコードを一行も書かずに、リアルな製品、ユーザー、カートに対してUIをレンダリングする最も迅速な方法であり、チュートリアルや簡単なプロトタイプには他に類を見ません。独自のフィールド、永続的な書き込み、制御可能なエラー、またはAPI契約を追跡するデータが必要な場合、限界が見えてきます。
その段階に達したら、固定されたAPIを借りるのではなく、独自のカスタム偽REST APIを生成してください。Apidogを使用すると、スキーマを定義し、そこからリアルなデータを自動的にモックし、出荷するAPIとモックを同期させることができます。無料で試して、数分で仕様を動作するモックに変えてください。
ボタン
