Basic usage of JSONPlaceholder

1, Meet JSONPlaceholder

Official website address: http://jsonplaceholder.typicode.com/

JSONPlaceholder is a website that provides online REST API. We can use it to obtain some false data and pictures during development. The returned data is in JSON format and supports both HTTP and HTTPS request types.

JSONPlaceholder has 6 kinds of common Resources:

URIData Size
/posts100 posts
/comments500 comments
/albums100 albums
/photos5000 photos
/todos200 todos
/users10 users

Routes: All HTTP methods are supported. You can use http or https for your requests.

HTTP MethodsURI
GET/posts
GET/posts/1
GET/posts/1/comments
GET/comments?postId=1
POST/posts
PUT/posts/1
PATCH/posts/1
DELETE/posts/1

Note: see guide for usage examples.

1, Interface directory summary

1. Post interface:

  • Get post list: http://jsonplaceholder.typicode.com/posts
  • Get details by post ID: https://jsonplaceholder.typicode.com/posts/1
  • Get all posts of a user: http://jsonplaceholder.typicode.com/posts?userId=5

2. Comment interface

  • Get a list of comments: http://jsonplaceholder.typicode.com/comments
  • Get all comments on a post (two ways): http://jsonplaceholder.typicode.com/comments?postId=4
  • Get all comments of a post (two ways): https://jsonplaceholder.typicode.com/posts/1/comments

3. Album interface:

  • Get album list: http://jsonplaceholder.typicode.com/albums
  • Get details according to album ID: http://jsonplaceholder.typicode.com/albums/6
  • Get all albums of a user: http://jsonplaceholder.typicode.com/albums?userId=9

4. To do interface:

  • Get to-do list: http://jsonplaceholder.typicode.com/todos
  • Get details according to to to-do ID: http://jsonplaceholder.typicode.com/todos/6
  • Get all to dos for a user: http://jsonplaceholder.typicode.com/todos?userId=9

5. User interface:

  • Get user list: http://jsonplaceholder.typicode.com/users
  • Get details according to user ID: http://jsonplaceholder.typicode.com/users/5

6. Photo interface:

  • Get photo list: http://jsonplaceholder.typicode.com/photos
  • Get details according to photo ID: http://jsonplaceholder.typicode.com/photos/8
  • Get all photos of an album: http://jsonplaceholder.typicode.com/photos?albumId=5

2, GET request data

PS: GET requests can be accessed directly using the browser.

1. Get article (post) data

(1) Using this address, you can get 100 fake data in the article list, including post ID, sender ID, title and content.

  • http://jsonplaceholder.typicode.com/posts
[
    {
        "userId": 1,
        "id": 1,
        "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
        "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
    },
    {
        "userId": 1,
        "id": 2,
        "title": "qui est esse",
        "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
    },
    {
        "userId": 1,
        "id": 3,
        "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
        "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
    },
    {
        "userId": 1,
        "id": 4,
        "title": "eum et est occaecati",
        "body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit"
    },
    {
        "userId": 1,
        "id": 5,
        "title": "nesciunt quas odio",
        "body": "repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque"
    },
    {
        "userId": 1,
        "id": 6,
        "title": "dolorem eum magni eos aperiam quia",
        "body": "ut aspernatur corporis harum nihil quis provident sequi\nmollitia nobis aliquid molestiae\nperspiciatis et ea nemo ab reprehenderit accusantium quas\nvoluptate dolores velit et doloremque molestiae"
    },
    {
        "userId": 1,
        "id": 7,
        "title": "magnam facilis autem",
        "body": "dolore placeat quibusdam ea quo vitae\nmagni quis enim qui quis quo nemo aut saepe\nquidem repellat excepturi ut quia\nsunt ut sequi eos ea sed quas"
    },
    {
        "userId": 1,
        "id": 8,
        "title": "dolorem dolore est ipsam",
        "body": "dignissimos aperiam dolorem qui eum\nfacilis quibusdam animi sint suscipit qui sint possimus cum\nquaerat magni maiores excepturi\nipsam ut commodi dolor voluptatum modi aut vitae"
    },
    {
        "userId": 1,
        "id": 9,
        "title": "nesciunt iure omnis dolorem tempora et accusantium",
        "body": "consectetur animi nesciunt iure dolore\nenim quia ad\nveniam autem ut quam aut nobis\net est aut quod aut provident voluptas autem voluptas"
    },
    {
        "userId": 1,
        "id": 10,
        "title": "optio molestias id quia eum",
        "body": "quo et expedita modi cum officia vel magni\ndoloribus qui repudiandae\nvero nisi sit\nquos veniam quod sed accusamus veritatis error"
    },
    // The intermediate data is omitted
    {
        "userId": 10,
        "id": 91,
        "title": "aut amet sed",
        "body": "libero voluptate eveniet aperiam sed\nsunt placeat suscipit molestias\nsimilique fugit nam natus\nexpedita consequatur consequatur dolores quia eos et placeat"
    },
    {
        "userId": 10,
        "id": 92,
        "title": "ratione ex tenetur perferendis",
        "body": "aut et excepturi dicta laudantium sint rerum nihil\nlaudantium et at\na neque minima officia et similique libero et\ncommodi voluptate qui"
    },
    {
        "userId": 10,
        "id": 93,
        "title": "beatae soluta recusandae",
        "body": "dolorem quibusdam ducimus consequuntur dicta aut quo laboriosam\nvoluptatem quis enim recusandae ut sed sunt\nnostrum est odit totam\nsit error sed sunt eveniet provident qui nulla"
    },
    {
        "userId": 10,
        "id": 94,
        "title": "qui qui voluptates illo iste minima",
        "body": "aspernatur expedita soluta quo ab ut similique\nexpedita dolores amet\nsed temporibus distinctio magnam saepe deleniti\nomnis facilis nam ipsum natus sint similique omnis"
    },
    {
        "userId": 10,
        "id": 95,
        "title": "id minus libero illum nam ad officiis",
        "body": "earum voluptatem facere provident blanditiis velit laboriosam\npariatur accusamus odio saepe\ncumque dolor qui a dicta ab doloribus consequatur omnis\ncorporis cupiditate eaque assumenda ad nesciunt"
    },
    {
        "userId": 10,
        "id": 96,
        "title": "quaerat velit veniam amet cupiditate aut numquam ut sequi",
        "body": "in non odio excepturi sint eum\nlabore voluptates vitae quia qui et\ninventore itaque rerum\nveniam non exercitationem delectus aut"
    },
    {
        "userId": 10,
        "id": 97,
        "title": "quas fugiat ut perspiciatis vero provident",
        "body": "eum non blanditiis soluta porro quibusdam voluptas\nvel voluptatem qui placeat dolores qui velit aut\nvel inventore aut cumque culpa explicabo aliquid at\nperspiciatis est et voluptatem dignissimos dolor itaque sit nam"
    },
    {
        "userId": 10,
        "id": 98,
        "title": "laboriosam dolor voluptates",
        "body": "doloremque ex facilis sit sint culpa\nsoluta assumenda eligendi non ut eius\nsequi ducimus vel quasi\nveritatis est dolores"
    },
    {
        "userId": 10,
        "id": 99,
        "title": "temporibus sit alias delectus eligendi possimus magni",
        "body": "quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia"
    },
    {
        "userId": 10,
        "id": 100,
        "title": "at nam consequatur ea labore ea harum",
        "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut"
    }
]

(2) According to the incoming post ID, you can get the data of a specific post, which also includes post ID, sender ID, title and content.

  • http://jsonplaceholder.typicode.com/posts/55
{
    "userId": 6,
    "id": 55,
    "title": "sit vel voluptatem et non libero",
    "body": "debitis excepturi ea perferendis harum libero optio\neos accusamus cum fuga ut sapiente repudiandae\net ut incidunt omnis molestiae\nnihil ut eum odit"
}

(3) Query all the posts he sends according to the POSTER ID, which also includes the post ID, POSTER ID, title and content.

  • http://jsonplaceholder.typicode.com/posts?userId=5
[
    {
        "userId": 5,
        "id": 41,
        "title": "non est facere",
        "body": "molestias id nostrum\nexcepturi molestiae dolore omnis repellendus quaerat saepe\nconsectetur iste quaerat tenetur asperiores accusamus ex ut\nnam quidem est ducimus sunt debitis saepe"
    },
    {
        "userId": 5,
        "id": 42,
        "title": "commodi ullam sint et excepturi error explicabo praesentium voluptas",
        "body": "odio fugit voluptatum ducimus earum autem est incidunt voluptatem\nodit reiciendis aliquam sunt sequi nulla dolorem\nnon facere repellendus voluptates quia\nratione harum vitae ut"
    },
    {
        "userId": 5,
        "id": 43,
        "title": "eligendi iste nostrum consequuntur adipisci praesentium sit beatae perferendis",
        "body": "similique fugit est\nillum et dolorum harum et voluptate eaque quidem\nexercitationem quos nam commodi possimus cum odio nihil nulla\ndolorum exercitationem magnam ex et a et distinctio debitis"
    },
    {
        "userId": 5,
        "id": 44,
        "title": "optio dolor molestias sit",
        "body": "temporibus est consectetur dolore\net libero debitis vel velit laboriosam quia\nipsum quibusdam qui itaque fuga rem aut\nea et iure quam sed maxime ut distinctio quae"
    },
    {
        "userId": 5,
        "id": 45,
        "title": "ut numquam possimus omnis eius suscipit laudantium iure",
        "body": "est natus reiciendis nihil possimus aut provident\nex et dolor\nrepellat pariatur est\nnobis rerum repellendus dolorem autem"
    },
    {
        "userId": 5,
        "id": 46,
        "title": "aut quo modi neque nostrum ducimus",
        "body": "voluptatem quisquam iste\nvoluptatibus natus officiis facilis dolorem\nquis quas ipsam\nvel et voluptatum in aliquid"
    },
    {
        "userId": 5,
        "id": 47,
        "title": "quibusdam cumque rem aut deserunt",
        "body": "voluptatem assumenda ut qui ut cupiditate aut impedit veniam\noccaecati nemo illum voluptatem laudantium\nmolestiae beatae rerum ea iure soluta nostrum\neligendi et voluptate"
    },
    {
        "userId": 5,
        "id": 48,
        "title": "ut voluptatem illum ea doloribus itaque eos",
        "body": "voluptates quo voluptatem facilis iure occaecati\nvel assumenda rerum officia et\nillum perspiciatis ab deleniti\nlaudantium repellat ad ut et autem reprehenderit"
    },
    {
        "userId": 5,
        "id": 49,
        "title": "laborum non sunt aut ut assumenda perspiciatis voluptas",
        "body": "inventore ab sint\nnatus fugit id nulla sequi architecto nihil quaerat\neos tenetur in in eum veritatis non\nquibusdam officiis aspernatur cumque aut commodi aut"
    },
    {
        "userId": 5,
        "id": 50,
        "title": "repellendus qui recusandae incidunt voluptates tenetur qui omnis exercitationem",
        "body": "error suscipit maxime adipisci consequuntur recusandae\nvoluptas eligendi et est et voluptates\nquia distinctio ab amet quaerat molestiae et vitae\nadipisci impedit sequi nesciunt quis consectetur"
    }
]

2. Get comment data

(1) Get all comments of all articles, a total of 500. Each content includes post ID, comment ID, comment name, comment email and comment content.

  • http://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\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium"
    },
    {
        "postId": 1,
        "id": 2,
        "name": "quo vero reiciendis velit similique earum",
        "email": "Jayne_Kuhic@sydney.com",
        "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et"
    },
    {
        "postId": 1,
        "id": 3,
        "name": "odio adipisci rerum aut animi",
        "email": "Nikita@garfield.biz",
        "body": "quia molestiae reprehenderit quasi aspernatur\naut expedita occaecati aliquam eveniet laudantium\nomnis quibusdam delectus saepe quia accusamus maiores nam est\ncum et ducimus et vero voluptates excepturi deleniti ratione"
    },
    {
        "postId": 1,
        "id": 4,
        "name": "alias odio sit",
        "email": "Lew@alysha.tv",
        "body": "non et atque\noccaecati deserunt quas accusantium unde odit nobis qui voluptatem\nquia voluptas consequuntur itaque dolor\net qui rerum deleniti ut occaecati"
    },
    {
        "postId": 1,
        "id": 5,
        "name": "vero eaque aliquid doloribus et culpa",
        "email": "Hayden@althea.biz",
        "body": "harum non quasi et ratione\ntempore iure ex voluptates in ratione\nharum architecto fugit inventore cupiditate\nvoluptates magni quo et"
    },
    {
        "postId": 2,
        "id": 6,
        "name": "et fugit eligendi deleniti quidem qui sint nihil autem",
        "email": "Presley.Mueller@myrl.com",
        "body": "doloribus at sed quis culpa deserunt consectetur qui praesentium\naccusamus fugiat dicta\nvoluptatem rerum ut voluptate autem\nvoluptatem repellendus aspernatur dolorem in"
    },
    {
        "postId": 2,
        "id": 7,
        "name": "repellat consequatur praesentium vel minus molestias voluptatum",
        "email": "Dallas@ole.me",
        "body": "maiores sed dolores similique labore et inventore et\nquasi temporibus esse sunt id et\neos voluptatem aliquam\naliquid ratione corporis molestiae mollitia quia et magnam dolor"
    },
    {
        "postId": 2,
        "id": 8,
        "name": "et omnis dolorem",
        "email": "Mallory_Kunze@marie.org",
        "body": "ut voluptatem corrupti velit\nad voluptatem maiores\net nisi velit vero accusamus maiores\nvoluptates quia aliquid ullam eaque"
    },
    {
        "postId": 2,
        "id": 9,
        "name": "provident id voluptas",
        "email": "Meghan_Littel@rene.us",
        "body": "sapiente assumenda molestiae atque\nadipisci laborum distinctio aperiam et ab ut omnis\net occaecati aspernatur odit sit rem expedita\nquas enim ipsam minus"
    },
    {
        "postId": 2,
        "id": 10,
        "name": "eaque et deleniti atque tenetur ut quo ut",
        "email": "Carmen_Keeling@caroline.name",
        "body": "voluptate iusto quis nobis reprehenderit ipsum amet nulla\nquia quas dolores velit et non\naut quia necessitatibus\nnostrum quaerat nulla et accusamus nisi facilis"
    },
    // Many data are omitted in the middle
    {
        "postId": 100,
        "id": 496,
        "name": "et occaecati asperiores quas voluptas ipsam nostrum",
        "email": "Zola@lizzie.com",
        "body": "neque unde voluptatem iure\nodio excepturi ipsam ad id\nipsa sed expedita error quam\nvoluptatem tempora necessitatibus suscipit culpa veniam porro iste vel"
    },
    {
        "postId": 100,
        "id": 497,
        "name": "doloribus dolores ut dolores occaecati",
        "email": "Dolly@mandy.co.uk",
        "body": "non dolor consequatur\nlaboriosam ut deserunt autem odit\nlibero dolore non nesciunt qui\naut est consequatur quo dolorem"
    },
    {
        "postId": 100,
        "id": 498,
        "name": "dolores minus aut libero",
        "email": "Davion@eldora.net",
        "body": "aliquam pariatur suscipit fugiat eos sunt\noptio voluptatem eveniet rerum dignissimos\nquia aut beatae\nmodi consequatur qui rerum sint veritatis deserunt est"
    },
    {
        "postId": 100,
        "id": 499,
        "name": "excepturi sunt cum a et rerum quo voluptatibus quia",
        "email": "Wilburn_Labadie@araceli.name",
        "body": "et necessitatibus tempora ipsum quaerat inventore est quasi quidem\nea repudiandae laborum omnis ab reprehenderit ut\nratione sit numquam culpa a rem\natque aut et"
    },
    {
        "postId": 100,
        "id": 500,
        "name": "ex eaque eum natus",
        "email": "Emma@joanny.ca",
        "body": "perspiciatis quis doloremque\nveniam nisi eos velit sed\nid totam inventore voluptatem laborum et eveniet\naut aut aut maxime quia temporibus ut omnis"
    }
]

(2) Next, get the comments of the specified post according to the post ID (there are two ways), including post ID, comment ID, reviewer name, reviewer email and comment content.

  1. http://jsonplaceholder.typicode.com/posts/4/comments
  2. http://jsonplaceholder.typicode.com/comments?postId=4
[
    {
        "postId": 4,
        "id": 16,
        "name": "perferendis temporibus delectus optio ea eum ratione dolorum",
        "email": "Christine@ayana.info",
        "body": "iste ut laborum aliquid velit facere itaque\nquo ut soluta dicta voluptate\nerror tempore aut et\nsequi reiciendis dignissimos expedita consequuntur libero sed fugiat facilis"
    },
    {
        "postId": 4,
        "id": 17,
        "name": "eos est animi quis",
        "email": "Preston_Hudson@blaise.tv",
        "body": "consequatur necessitatibus totam sed sit dolorum\nrecusandae quae odio excepturi voluptatum harum voluptas\nquisquam sit ad eveniet delectus\ndoloribus odio qui non labore"
    },
    {
        "postId": 4,
        "id": 18,
        "name": "aut et tenetur ducimus illum aut nulla ab",
        "email": "Vincenza_Klocko@albertha.name",
        "body": "veritatis voluptates necessitatibus maiores corrupti\nneque et exercitationem amet sit et\nullam velit sit magnam laborum\nmagni ut molestias"
    },
    {
        "postId": 4,
        "id": 19,
        "name": "sed impedit rerum quia et et inventore unde officiis",
        "email": "Madelynn.Gorczany@darion.biz",
        "body": "doloribus est illo sed minima aperiam\nut dignissimos accusantium tempore atque et aut molestiae\nmagni ut accusamus voluptatem quos ut voluptates\nquisquam porro sed architecto ut"
    },
    {
        "postId": 4,
        "id": 20,
        "name": "molestias expedita iste aliquid voluptates",
        "email": "Mariana_Orn@preston.org",
        "body": "qui harum consequatur fugiat\net eligendi perferendis at molestiae commodi ducimus\ndoloremque asperiores numquam qui\nut sit dignissimos reprehenderit tempore"
    }
]

3. Get album data

(1) Here are 100 pieces of album data. Compared with the post data, the album data has fewer content items (body) http://jsonplaceholder.typicode.com/albums

[
    {
        "userId": 1,
        "id": 1,
        "title": "quidem molestiae enim"
    },
    {
        "userId": 1,
        "id": 2,
        "title": "sunt qui excepturi placeat culpa"
    },
    {
        "userId": 1,
        "id": 3,
        "title": "omnis laborum odio"
    },
    {
        "userId": 1,
        "id": 4,
        "title": "non esse culpa molestiae omnis sed optio"
    },
    {
        "userId": 1,
        "id": 5,
        "title": "eaque aut omnis a"
    },
    {
        "userId": 1,
        "id": 6,
        "title": "natus impedit quibusdam illo est"
    },
    {
        "userId": 1,
        "id": 7,
        "title": "quibusdam autem aliquid et et quia"
    },
    {
        "userId": 1,
        "id": 8,
        "title": "qui fuga est a eum"
    },
    {
        "userId": 1,
        "id": 9,
        "title": "saepe unde necessitatibus rem"
    },
    {
        "userId": 1,
        "id": 10,
        "title": "distinctio laborum qui"
    },
    // Omitted data
    {
        "userId": 10,
        "id": 91,
        "title": "repellendus praesentium debitis officiis"
    },
    {
        "userId": 10,
        "id": 92,
        "title": "incidunt et et eligendi assumenda soluta quia recusandae"
    },
    {
        "userId": 10,
        "id": 93,
        "title": "nisi qui dolores perspiciatis"
    },
    {
        "userId": 10,
        "id": 94,
        "title": "quisquam a dolores et earum vitae"
    },
    {
        "userId": 10,
        "id": 95,
        "title": "consectetur vel rerum qui aperiam modi eos aspernatur ipsa"
    },
    {
        "userId": 10,
        "id": 96,
        "title": "unde et ut molestiae est molestias voluptatem sint"
    },
    {
        "userId": 10,
        "id": 97,
        "title": "est quod aut"
    },
    {
        "userId": 10,
        "id": 98,
        "title": "omnis quia possimus nesciunt deleniti assumenda sed autem"
    },
    {
        "userId": 10,
        "id": 99,
        "title": "consectetur ut id impedit dolores sit ad ex aut"
    },
    {
        "userId": 10,
        "id": 100,
        "title": "enim repellat iste"
    }
]

(2) Get the specified album data according to the ID. http://jsonplaceholder.typicode.com/albums/6

{
    "userId": 1,
    "id": 6,
    "title": "natus impedit quibusdam illo est"
}

(3) Obtain all album data of the user according to the user ID. http://jsonplaceholder.typicode.com/albums?userId=9

[
    {
        "userId": 9,
        "id": 81,
        "title": "quibusdam sapiente et"
    },
    {
        "userId": 9,
        "id": 82,
        "title": "recusandae consequatur vel amet unde"
    },
    {
        "userId": 9,
        "id": 83,
        "title": "aperiam odio fugiat"
    },
    {
        "userId": 9,
        "id": 84,
        "title": "est et at eos expedita"
    },
    {
        "userId": 9,
        "id": 85,
        "title": "qui voluptatem consequatur aut ab quis temporibus praesentium"
    },
    {
        "userId": 9,
        "id": 86,
        "title": "eligendi mollitia alias aspernatur vel ut iusto"
    },
    {
        "userId": 9,
        "id": 87,
        "title": "aut aut architecto"
    },
    {
        "userId": 9,
        "id": 88,
        "title": "quas perspiciatis optio"
    },
    {
        "userId": 9,
        "id": 89,
        "title": "sit optio id voluptatem est eum et"
    },
    {
        "userId": 9,
        "id": 90,
        "title": "est vel dignissimos"
    }
]

4. Get to-do data

(1) Here are 200 to-do data. The feature of to-do data is that in addition to the title, there is a Boolean attribute item (completed) indicating whether the task is completed.

  • http://jsonplaceholder.typicode.com/todos
[
    {
        "userId": 1,
        "id": 1,
        "title": "delectus aut autem",
        "completed": false
    },
    {
        "userId": 1,
        "id": 2,
        "title": "quis ut nam facilis et officia qui",
        "completed": false
    },
    {
        "userId": 1,
        "id": 3,
        "title": "fugiat veniam minus",
        "completed": false
    },
    {
        "userId": 1,
        "id": 4,
        "title": "et porro tempora",
        "completed": true
    },
    {
        "userId": 1,
        "id": 5,
        "title": "laboriosam mollitia et enim quasi adipisci quia provident illum",
        "completed": false
    },
    {
        "userId": 1,
        "id": 6,
        "title": "qui ullam ratione quibusdam voluptatem quia omnis",
        "completed": false
    },
    {
        "userId": 1,
        "id": 7,
        "title": "illo expedita consequatur quia in",
        "completed": false
    },
    {
        "userId": 1,
        "id": 8,
        "title": "quo adipisci enim quam ut ab",
        "completed": true
    },
    {
        "userId": 1,
        "id": 9,
        "title": "molestiae perspiciatis ipsa",
        "completed": false
    },
    {
        "userId": 1,
        "id": 10,
        "title": "illo est ratione doloremque quia maiores aut",
        "completed": true
    },
    {
        "userId": 1,
        "id": 11,
        "title": "vero rerum temporibus dolor",
        "completed": true
    },
    {
        "userId": 1,
        "id": 12,
        "title": "ipsa repellendus fugit nisi",
        "completed": true
    },
    {
        "userId": 1,
        "id": 13,
        "title": "et doloremque nulla",
        "completed": false
    },
    {
        "userId": 1,
        "id": 14,
        "title": "repellendus sunt dolores architecto voluptatum",
        "completed": true
    },
    {
        "userId": 1,
        "id": 15,
        "title": "ab voluptatum amet voluptas",
        "completed": true
    },
    {
        "userId": 1,
        "id": 16,
        "title": "accusamus eos facilis sint et aut voluptatem",
        "completed": true
    },
    {
        "userId": 1,
        "id": 17,
        "title": "quo laboriosam deleniti aut qui",
        "completed": true
    },
    {
        "userId": 1,
        "id": 18,
        "title": "dolorum est consequatur ea mollitia in culpa",
        "completed": false
    },
    {
        "userId": 1,
        "id": 19,
        "title": "molestiae ipsa aut voluptatibus pariatur dolor nihil",
        "completed": true
    },
    {
        "userId": 1,
        "id": 20,
        "title": "ullam nobis libero sapiente ad optio sint",
        "completed": true
    },
    // Omitted data
    {
        "userId": 10,
        "id": 190,
        "title": "accusamus sint iusto et voluptatem exercitationem",
        "completed": true
    },
    {
        "userId": 10,
        "id": 191,
        "title": "temporibus atque distinctio omnis eius impedit tempore molestias pariatur",
        "completed": true
    },
    {
        "userId": 10,
        "id": 192,
        "title": "ut quas possimus exercitationem sint voluptates",
        "completed": false
    },
    {
        "userId": 10,
        "id": 193,
        "title": "rerum debitis voluptatem qui eveniet tempora distinctio a",
        "completed": true
    },
    {
        "userId": 10,
        "id": 194,
        "title": "sed ut vero sit molestiae",
        "completed": false
    },
    {
        "userId": 10,
        "id": 195,
        "title": "rerum ex veniam mollitia voluptatibus pariatur",
        "completed": true
    },
    {
        "userId": 10,
        "id": 196,
        "title": "consequuntur aut ut fugit similique",
        "completed": true
    },
    {
        "userId": 10,
        "id": 197,
        "title": "dignissimos quo nobis earum saepe",
        "completed": true
    },
    {
        "userId": 10,
        "id": 198,
        "title": "quis eius est sint explicabo",
        "completed": true
    },
    {
        "userId": 10,
        "id": 199,
        "title": "numquam repellendus a magnam",
        "completed": true
    },
    {
        "userId": 10,
        "id": 200,
        "title": "ipsam aperiam voluptates qui",
        "completed": false
    }
]

(2) Get the specified to-do data according to the ID. http://jsonplaceholder.typicode.com/todos/6

{
    "userId": 1,
    "id": 6,
    "title": "qui ullam ratione quibusdam voluptatem quia omnis",
    "completed": false
}

(3) Obtain all to-do data of the user according to the user ID. 20 pieces of data. http://jsonplaceholder.typicode.com/todos?userId=9

[
    {
        "userId": 9,
        "id": 161,
        "title": "ex hic consequuntur earum omnis alias ut occaecati culpa",
        "completed": true
    },
    {
        "userId": 9,
        "id": 162,
        "title": "omnis laboriosam molestias animi sunt dolore",
        "completed": true
    },
    {
        "userId": 9,
        "id": 163,
        "title": "natus corrupti maxime laudantium et voluptatem laboriosam odit",
        "completed": false
    },
    {
        "userId": 9,
        "id": 164,
        "title": "reprehenderit quos aut aut consequatur est sed",
        "completed": false
    },
    {
        "userId": 9,
        "id": 165,
        "title": "fugiat perferendis sed aut quidem",
        "completed": false
    },
    {
        "userId": 9,
        "id": 166,
        "title": "quos quo possimus suscipit minima ut",
        "completed": false
    },
    {
        "userId": 9,
        "id": 167,
        "title": "et quis minus quo a asperiores molestiae",
        "completed": false
    },
    {
        "userId": 9,
        "id": 168,
        "title": "recusandae quia qui sunt libero",
        "completed": false
    },
    {
        "userId": 9,
        "id": 169,
        "title": "ea odio perferendis officiis",
        "completed": true
    },
    {
        "userId": 9,
        "id": 170,
        "title": "quisquam aliquam quia doloribus aut",
        "completed": false
    },
    {
        "userId": 9,
        "id": 171,
        "title": "fugiat aut voluptatibus corrupti deleniti velit iste odio",
        "completed": true
    },
    {
        "userId": 9,
        "id": 172,
        "title": "et provident amet rerum consectetur et voluptatum",
        "completed": false
    },
    {
        "userId": 9,
        "id": 173,
        "title": "harum ad aperiam quis",
        "completed": false
    },
    {
        "userId": 9,
        "id": 174,
        "title": "similique aut quo",
        "completed": false
    },
    {
        "userId": 9,
        "id": 175,
        "title": "laudantium eius officia perferendis provident perspiciatis asperiores",
        "completed": true
    },
    {
        "userId": 9,
        "id": 176,
        "title": "magni soluta corrupti ut maiores rem quidem",
        "completed": false
    },
    {
        "userId": 9,
        "id": 177,
        "title": "et placeat temporibus voluptas est tempora quos quibusdam",
        "completed": false
    },
    {
        "userId": 9,
        "id": 178,
        "title": "nesciunt itaque commodi tempore",
        "completed": true
    },
    {
        "userId": 9,
        "id": 179,
        "title": "omnis consequuntur cupiditate impedit itaque ipsam quo",
        "completed": true
    },
    {
        "userId": 9,
        "id": 180,
        "title": "debitis nisi et dolorem repellat et",
        "completed": true
    }
]

5. Get user data

(1) Here are 10 pieces of all user data. The data includes name, telephone, address and other user information.

  • http://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 x56442",
        "website": "hildegard.org",
        "company": {
            "name": "Romaguera-Crona",
            "catchPhrase": "Multi-layered client-server neural-net",
            "bs": "harness real-time e-markets"
        }
    },
    {
        "id": 2,
        "name": "Ervin Howell",
        "username": "Antonette",
        "email": "Shanna@melissa.tv",
        "address": {
            "street": "Victor Plains",
            "suite": "Suite 879",
            "city": "Wisokyburgh",
            "zipcode": "90566-7771",
            "geo": {
                "lat": "-43.9509",
                "lng": "-34.4618"
            }
        },
        "phone": "010-692-6593 x09125",
        "website": "anastasia.net",
        "company": {
            "name": "Deckow-Crist",
            "catchPhrase": "Proactive didactic contingency",
            "bs": "synergize scalable supply-chains"
        }
    },
    {
        "id": 3,
        "name": "Clementine Bauch",
        "username": "Samantha",
        "email": "Nathan@yesenia.net",
        "address": {
            "street": "Douglas Extension",
            "suite": "Suite 847",
            "city": "McKenziehaven",
            "zipcode": "59590-4157",
            "geo": {
                "lat": "-68.6102",
                "lng": "-47.0653"
            }
        },
        "phone": "1-463-123-4447",
        "website": "ramiro.info",
        "company": {
            "name": "Romaguera-Jacobson",
            "catchPhrase": "Face to face bifurcated interface",
            "bs": "e-enable strategic applications"
        }
    },
    {
        "id": 4,
        "name": "Patricia Lebsack",
        "username": "Karianne",
        "email": "Julianne.OConner@kory.org",
        "address": {
            "street": "Hoeger Mall",
            "suite": "Apt. 692",
            "city": "South Elvis",
            "zipcode": "53919-4257",
            "geo": {
                "lat": "29.4572",
                "lng": "-164.2990"
            }
        },
        "phone": "493-170-9623 x156",
        "website": "kale.biz",
        "company": {
            "name": "Robel-Corkery",
            "catchPhrase": "Multi-tiered zero tolerance productivity",
            "bs": "transition cutting-edge web services"
        }
    },
    {
        "id": 5,
        "name": "Chelsey Dietrich",
        "username": "Kamren",
        "email": "Lucio_Hettinger@annie.ca",
        "address": {
            "street": "Skiles Walks",
            "suite": "Suite 351",
            "city": "Roscoeview",
            "zipcode": "33263",
            "geo": {
                "lat": "-31.8129",
                "lng": "62.5342"
            }
        },
        "phone": "(254)954-1289",
        "website": "demarco.info",
        "company": {
            "name": "Keebler LLC",
            "catchPhrase": "User-centric fault-tolerant solution",
            "bs": "revolutionize end-to-end systems"
        }
    },
    {
        "id": 6,
        "name": "Mrs. Dennis Schulist",
        "username": "Leopoldo_Corkery",
        "email": "Karley_Dach@jasper.info",
        "address": {
            "street": "Norberto Crossing",
            "suite": "Apt. 950",
            "city": "South Christy",
            "zipcode": "23505-1337",
            "geo": {
                "lat": "-71.4197",
                "lng": "71.7478"
            }
        },
        "phone": "1-477-935-8478 x6430",
        "website": "ola.org",
        "company": {
            "name": "Considine-Lockman",
            "catchPhrase": "Synchronised bottom-line interface",
            "bs": "e-enable innovative applications"
        }
    },
    {
        "id": 7,
        "name": "Kurtis Weissnat",
        "username": "Elwyn.Skiles",
        "email": "Telly.Hoeger@billy.biz",
        "address": {
            "street": "Rex Trail",
            "suite": "Suite 280",
            "city": "Howemouth",
            "zipcode": "58804-1099",
            "geo": {
                "lat": "24.8918",
                "lng": "21.8984"
            }
        },
        "phone": "210.067.6132",
        "website": "elvis.io",
        "company": {
            "name": "Johns Group",
            "catchPhrase": "Configurable multimedia task-force",
            "bs": "generate enterprise e-tailers"
        }
    },
    {
        "id": 8,
        "name": "Nicholas Runolfsdottir V",
        "username": "Maxime_Nienow",
        "email": "Sherwood@rosamond.me",
        "address": {
            "street": "Ellsworth Summit",
            "suite": "Suite 729",
            "city": "Aliyaview",
            "zipcode": "45169",
            "geo": {
                "lat": "-14.3990",
                "lng": "-120.7677"
            }
        },
        "phone": "586.493.6943 x140",
        "website": "jacynthe.com",
        "company": {
            "name": "Abernathy Group",
            "catchPhrase": "Implemented secondary concept",
            "bs": "e-enable extensible e-tailers"
        }
    },
    {
        "id": 9,
        "name": "Glenna Reichert",
        "username": "Delphine",
        "email": "Chaim_McDermott@dana.io",
        "address": {
            "street": "Dayna Park",
            "suite": "Suite 449",
            "city": "Bartholomebury",
            "zipcode": "76495-3109",
            "geo": {
                "lat": "24.6463",
                "lng": "-168.8889"
            }
        },
        "phone": "(775)976-6794 x41206",
        "website": "conrad.com",
        "company": {
            "name": "Yost and Sons",
            "catchPhrase": "Switchable contextually-based project",
            "bs": "aggregate real-time technologies"
        }
    },
    {
        "id": 10,
        "name": "Clementina DuBuque",
        "username": "Moriah.Stanton",
        "email": "Rey.Padberg@karina.biz",
        "address": {
            "street": "Kattie Turnpike",
            "suite": "Suite 198",
            "city": "Lebsackbury",
            "zipcode": "31428-2261",
            "geo": {
                "lat": "-38.2386",
                "lng": "57.2232"
            }
        },
        "phone": "024-648-3804",
        "website": "ambrose.net",
        "company": {
            "name": "Hoeger LLC",
            "catchPhrase": "Centralized empowering task-force",
            "bs": "target end-to-end models"
        }
    }
]

(2) Get the specified user data according to the ID.

  • http://jsonplaceholder.typicode.com/users/5
{
    "id": 5,
    "name": "Chelsey Dietrich",
    "username": "Kamren",
    "email": "Lucio_Hettinger@annie.ca",
    "address": {
        "street": "Skiles Walks",
        "suite": "Suite 351",
        "city": "Roscoeview",
        "zipcode": "33263",
        "geo": {
            "lat": "-31.8129",
            "lng": "62.5342"
        }
    },
    "phone": "(254)954-1289",
    "website": "demarco.info",
    "company": {
        "name": "Keebler LLC",
        "catchPhrase": "User-centric fault-tolerant solution",
        "bs": "revolutionize end-to-end systems"
    }
}

6. Get photo data

(1) Next, get all photo data in all albums, a total of 5000. The data includes photo ID, album ID, title, photo original address and photo thumbnail address.

  • http://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"
    },
    //... data is omitted in the middle
    {
        "albumId": 100,
        "id": 5000,
        "title": "error quasi sunt cupiditate voluptate ea odit beatae",
        "url": "https://via.placeholder.com/600/6dd9cb",
        "thumbnailUrl": "https://via.placeholder.com/150/6dd9cb"
    }
]

PS note: the two URLs in the data can also be accessed, such as the thumbnail address. The access results are as follows.

(2) Obtain the specified photo data according to the ID. http://jsonplaceholder.typicode.com/photos/8

{
    "albumId": 1,
    "id": 8,
    "title": "aut porro officiis laborum odit ea laudantium corporis",
    "url": "https://via.placeholder.com/600/54176f",
    "thumbnailUrl": "https://via.placeholder.com/150/54176f"
}

(3) Obtain all photo data under the album according to the album ID.

  • http://jsonplaceholder.typicode.com/photos?albumId=5
[
    {
        "albumId": 5,
        "id": 201,
        "title": "nesciunt dolorum consequatur ullam tempore accusamus debitis sit",
        "url": "https://via.placeholder.com/600/250289",
        "thumbnailUrl": "https://via.placeholder.com/150/250289"
    },
    // ... data is omitted in the middle
    {
        "albumId": 5,
        "id": 250,
        "title": "voluptatem repellendus voluptatibus id occaecati ipsam dignissimos officia",
        "url": "https://via.placeholder.com/600/e33ffb",
        "thumbnailUrl": "https://via.placeholder.com/150/e33ffb"
    }
]

3, POST request data

We can POST the data to the following address. In addition to returning the data we submitted, it will also attach a random id value to the result.

  1. Add post interface request address: https://jsonplaceholder.typicode.com/posts
$ curl https://jsonplaceholder.typicode.com/posts -H "Content-Type: application/json" -X POST -d '{"name": "Sam", "age":18, "msg":"OK" }'
{
  "name": "Sam",
  "age": 18,
  "msg": "OK",
  "id": 101
}

The request body of the request is:

{
    "name": "Sam", 
    "age":18, 
    "msg":"OK" 
}

The returned response body is:

{
    "name": "Sam",
    "age": 18,
    "msg": "OK",
    "id": 101
}

Tags: Java RESTful http

Posted on Wed, 13 Oct 2021 23:59:19 -0400 by jonoc33