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の基本的な使い方と仕様について詳しく解説しました。
ディスカッション
コメント一覧
まだ、コメントがありません