JSONPlaceholder APIの技術資料
JSONPlaceholder は、開発者向けのダミーAPIサービスです。このAPIは、サーバーとの通信をテストしたり、フロントエンド開発中にモックデータとして利用することを目的としています。実際のデータベースやバックエンドを準備せずに、APIのリクエストやレスポンスを使った機能開発が可能です。
この技術資料では、JSONPlaceholderの仕様やエンドポイントの使用方法についてまとめます。
エンドポイント一覧
JSONPlaceholderには、以下のエンドポイントがあります。それぞれのエンドポイントからは、GET、POST、PUT、PATCH、DELETEの操作を行うことができます。
| エンドポイント | 説明 | リクエスト例 | 
|---|---|---|
/posts | 投稿データ(ブログ記事など) | https://jsonplaceholder.typicode.com/posts | 
/comments | コメントデータ | https://jsonplaceholder.typicode.com/comments | 
/albums | アルバムデータ(写真のグループなど) | https://jsonplaceholder.typicode.com/albums | 
/photos | 写真データ | https://jsonplaceholder.typicode.com/photos | 
/todos | Todoリストデータ | https://jsonplaceholder.typicode.com/todos | 
/users | ユーザーデータ | https://jsonplaceholder.typicode.com/users | 
エンドポイントの詳細
1. /posts エンドポイント
このエンドポイントでは、ブログ記事や投稿のデータを扱います。
- GET: 投稿一覧の取得
 - POST: 新しい投稿の作成
 - PUT: 投稿の完全な更新
 - PATCH: 投稿の一部更新
 - DELETE: 投稿の削除
 
GET リクエスト例:
GET https://jsonplaceholder.typicode.com/posts
レスポンス例:
{
  "userId": 1,
  "id": 1,
  "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
  "body": "quia et suscipit\nsuscipit..."
}
2. /comments エンドポイント
コメントデータを扱うエンドポイントです。主にブログ投稿へのコメント機能のテストに使えます。
- GET: コメント一覧の取得
 - POST: 新しいコメントの作成
 
GET リクエスト例:
GET https://jsonplaceholder.typicode.com/comments
レスポンス例:
{
  "postId": 1,
  "id": 1,
  "name": "id labore ex et quam laborum",
  "email": "Eliseo@gardner.biz",
  "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos"
}
3. /albums エンドポイント
写真や画像グループを表現するアルバムデータを管理します。
- GET: アルバム一覧の取得
 - POST: 新しいアルバムの作成
 
GET リクエスト例:
GET https://jsonplaceholder.typicode.com/albums
レスポンス例:
{
  "userId": 1,
  "id": 1,
  "title": "quidem molestiae enim"
}
4. /photos エンドポイント
写真データを扱います。URL付きの画像データを返します。
- GET: 写真一覧の取得
 - POST: 新しい写真の作成
 
GET リクエスト例:
GET https://jsonplaceholder.typicode.com/photos
レスポンス例:
{
  "albumId": 1,
  "id": 1,
  "title": "accusamus beatae ad facilis cum similique qui sunt",
  "url": "https://via.placeholder.com/600/92c952",
  "thumbnailUrl": "https://via.placeholder.com/150/92c952"
}
5. /todos エンドポイント
やることリスト(Todo)データを提供するエンドポイントです。主にチェックリストや進捗管理のシミュレーションに役立ちます。
- GET: Todoリストの取得
 - POST: 新しいTodoの作成
 - PUT: Todoの完全な更新
 - PATCH: Todoの一部更新
 - DELETE: Todoの削除
 
GET リクエスト例:
GET https://jsonplaceholder.typicode.com/todos/1
レスポンス例:
{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}
6. /users エンドポイント
ユーザー情報を扱います。名前や住所、連絡先といった基本的なユーザープロフィールデータを取得できます。
- GET: ユーザー一覧の取得
 - POST: 新しいユーザーの作成
 
GET リクエスト例:
GET https://jsonplaceholder.typicode.com/users
レスポンス例:
{
  "id": 1,
  "name": "Leanne Graham",
  "username": "Bret",
  "email": "Sincere@april.biz",
  "address": {
    "street": "Kulas Light",
    "suite": "Apt. 556",
    "city": "Gwenborough",
    "zipcode": "92998-3874",
    "geo": {
      "lat": "-37.3159",
      "lng": "81.1496"
    }
  },
  "phone": "1-770-736-8031",
  "website": "hildegard.org",
  "company": {
    "name": "Romaguera-Crona",
    "catchPhrase": "Multi-layered client-server neural-net",
    "bs": "harness real-time e-markets"
  }
}
HTTPメソッドの対応
JSONPlaceholderは、以下のHTTPメソッドに対応しています。基本的なCRUD(作成、取得、更新、削除)の操作をテストすることが可能です。
- GET: データの取得(例: 投稿一覧の取得)
 - POST: 新しいデータの作成(例: 新しい投稿の作成)
 - PUT: データの完全な更新(例: 投稿の全フィールドを上書き)
 - PATCH: データの部分更新(例: 投稿の一部フィールドだけを変更)
 - DELETE: データの削除(例: 投稿の削除)
 
利用制限と注意点
- データの永続性はない: データの作成や更新(POST、PUT、PATCH)は擬似的に行われますが、実際のデータはサーバーに保存されません。サーバーのデータはリセットされることがあり、あくまで開発やテスト用途で使うべきです。
 - レスポンス時間: JSONPlaceholderは、実際のサーバーと同様にレスポンス時間を模倣しているため、実際の環境に近い条件でテストが可能です。
 
使用例
以下は、Unityでの非同期通信を使った例です。UnityWebRequestを使ってJSONPlaceholderからデータを取得し、UIに表示するコードを紹介します。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using System.Threading.Tasks;
public class AsyncWebRequestExample : MonoBehaviour
{
    public Button fetchButton;  // データ取得用のボタン
    public Text resultText;     // 結果表示用のテキスト
    void Start()
    {
        fetchButton.onClick.AddListener(() => FetchDataFromServer());
    }
    private async void FetchDataFromServer()
    {
        string url = "https://jsonplaceholder.typicode.com/todos/1";
        resultText.text = "データ取得中...";
        Debug.Log("データ取得中...");
        UnityWebRequest request = UnityWebRequest.Get(url);
        await request.SendWebRequest();
        if (request.result != UnityWebRequest.Result.Success)
        {
            Debug.LogError("データ取得失敗: " + request.error);
            resultText.text = "データ取得失敗: " + request.error;
        }
        else
        {
            Debug.Log("データ取得成功: " + request.downloadHandler.text);
            resultText.text = "取得結果: " + request.downloadHandler.text;
        }
    }
}
終わりに
JSONPlaceholderは、テストや開発初期段階において、サーバー通信の学習や実装に非常に役立つツールです。この資料をもとに、APIとの連携やデータ取得処理を構築してみてください。
この資料では、JSONPlaceholder APIの基本的な使い方と仕様について詳しく解説しました。





ディスカッション
コメント一覧
まだ、コメントがありません