REST API может понадобится:
- При разработке нового проекта
- При тестировнии нового программного инструмента
- Когда хочеться пощупать очередной фреймворк
- Просто нужны
json
данные
Всегда можно создать массив и читать его или обращаться к какому-нибудь API. Однако есть специальный инструмент, чтобы не искать «что-нибудь».
Fake Rest API (jsonplaceholder)
JSONPlaceholder — Live running version. Можно сделать свой Fake Server, проект доступен на github
Ресурсы
Маршрут | |
---|---|
/posts | 100 items |
/comments | 500 items |
/albums | 100 items |
/photos | 5000 items |
/todos | 200 items |
/users | 10 items |
Маршруты
HTTP метод | Маршрут |
---|---|
GET | /posts |
GET | /posts/1 |
GET | /posts/1/comments |
GET | /comments?postId=1 |
GET | /posts?userId=1 |
POST | /posts |
PUT | /posts/1 |
PATCH | /posts/1 |
DELETE | /posts/1 |
Например 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"
},
...
Видео от Traversy Media по работе Fake Server
Альтернативный сервис
Запрос
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://reqres.in/api/products/3", true);
xhr.onload = function(){
console.log(xhr.responseText);
};
xhr.send();
Ответ
{
"data":{
"id":3,
"name":"true red",
"year":2002,
"pantone_value":"19-1664"
}
}