Форум программистов, компьютерный форум, киберфорум
REST API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
5 / 5 / 0
Регистрация: 19.06.2021
Сообщений: 73

Напишите CRUD приложение с использованием Free REST API.

16.08.2021, 09:40. Показов 3419. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выбрать из этих либо же взять любую другую:

- https://reqres.in/

- https://jsonplaceholder.typicode.com/

Пускай эта FREE REST API сможет дать вам полный CRUD (Create, Read, Update, Delete)

!!!При проверке задания я должен иметь возможность увидеть список
полученных данных с сервера на html странице.

!!!Так же с нее я должен иметь возможность удалить запись, создать новую,
или же обновить запись.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.08.2021, 09:40
Ответы с готовыми решениями:

Приложение с использованием rest api
Всем привет. Дали мне для устройства на работу тестовое задание. Написать приложение которое загрузить рестораны с этого сайта...

Воспользуйтесь free REST API
Воспользуйтесь free REST API: https://jsonplaceholder.typicode.com/ для получения 100 albums. И выведите все альбомы на html страницу в...

Утилита с использованием REST API
Привет. У меня есть следующее задание: Написать консольную утилиту, которая позволяет загружать и скачивать из GoogleDrive произвольный...

4
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
16.08.2021, 12:43
ivanova-smile, здравствуйте.
А какой сервер предоставляет доступ к реальному изменению данных на сервере?

Насколько понимаю, по смыслу надо зарегистрироваться и получить место для хранения своего файла.
А в вышеперечисленных серверах, насколько понимаю, бесплатно фейковые операции изменения данных.

Добавлено через 2 часа 17 минут
---------
Удалось найти сервер. Там дают временный бесплатный ключ на одни сутки и за эти сутки количество запросов к серверу не более 100.
https://crudcrud.com/

То есть катастрофически мало.
Надо сначала создать полностью готовое приложение, обращающееся например к localStorage, И только когда всё будет работать, переключить CRUD-операции на Free REST API.
4
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
16.08.2021, 16:44
amr-now, здравствуйте. Да мне кажется, все намного проще. При загрузке страницы получаем данные с API того же jsonplaceholder. Подгрузится 100 записей. А уже дальше, создаём/удаляем/вносим изменения. Если ответ с сервера прилетает -> динамически меняем/удаляем содержимое на странице. Это же тестовое задание, вряд ли необходимо прилагать такие усилия для реализации.
2
6 / 6 / 0
Регистрация: 02.07.2021
Сообщений: 50
19.08.2021, 17:11
evikza, да, я тоже так думаю
0
Эксперт JS
 Аватар для Iverycool
1586 / 796 / 362
Регистрация: 01.02.2019
Сообщений: 1,047
23.08.2021, 02:18
Лучший ответ Сообщение было отмечено ivanova-smile как решение

Решение

По личной просьбе ivanova-smile набросал страничку. Да, ни reqres.in, ни jsonplaceholder.typicode.com не будут ничего реально изменять при соответствующих запросах, но, как верно заметил evikza, это лишь тестовое задание, поэтому допустимо судить об итоге операции по ответу сервера.
Для простой стилизации использован Bootstrap:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css">
 
<div class="container">
  <table id="users-table" class="table mt-2">
    <tr>
      <th>ID</th>
      <th>User</th>
      <th>Email</th>
      <th>Edit</th>
      <th>Delete</th>
    </tr>
  </table>
 
  <form class="form-inline" id="create-form">
    <div class="input-group mr-2">
      <div class="input-group-prepend">
        <div class="input-group-text">Name</div>
      </div>
      <input type="text" class="form-control" name="name">
    </div>
 
    <div class="input-group mr-2">
      <div class="input-group-prepend">
        <div class="input-group-text">Email</div>
      </div>
      <input type="email" class="form-control" name="email">
    </div>
 
    <button type="submit" class="btn btn-primary">Add</button>
  </form>
</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
const HOST = 'https://reqres.in/api/';
 
const usersTable = document.getElementById('users-table');
const createForm = document.getElementById('create-form');
 
fetch(HOST + 'users').then(res => res.json()).then(({ data }) => {
  data.forEach(({ id, first_name, email }) => addUserRow(id, first_name, email));
}).catch(errorHandler);
 
usersTable.addEventListener('click', ({ target }) => {
  if (!target.dataset.type) return;
  const row = target.closest('tr');
  const id = row.dataset.id;
 
  if (target.dataset.type === 'edit') {
    fetch(HOST + `users/${id}`, {
      method: 'PATCH',
      body: JSON.stringify({
        name: row.querySelector(`[name="name"]`).value,
        email: row.querySelector(`[name="email"]`).value
      })
    }).then(res => {
      if (res.ok) alert('The user has been successfully edited!');
    }).catch(errorHandler);
  } else {
    fetch(HOST + `users/${id}`, {
      method: 'DELETE'
    }).then(res => {
      if (res.ok) {
        alert('The user has been successfully deleted!');
        row.remove();
      }
    }).catch(errorHandler);
  }
});
 
createForm.addEventListener('submit', ev => {
  ev.preventDefault();
  const name = createForm.elements.name.value;
  const email = createForm.elements.email.value;
 
  fetch(HOST + `users`, {
    method: 'POST',
    body: JSON.stringify({ name, email })
  }).then(res => res.json()).then(({ id }) => {
    alert('The user has been successfully created!');
    addUserRow(id, name, email);
  }).catch(errorHandler);
});
 
 
function addUserRow(id, name, email) {
  usersTable.insertAdjacentHTML('beforeEnd', `<tr data-id=${id}>
    <td>${id}</td>
    <td><input class="form-control form-control-sm" name="name" value="${name}"></td>
    <td><input class="form-control form-control-sm" name="email" value="${email}"></td>
    <td><button data-type="edit" class="btn btn-secondary btn-sm">Edit</button></td>
    <td><button data-type="delete" class="btn btn-danger btn-sm">Delete</button></td>
  </tr>`);
}
 
function errorHandler(err) {
  console.error(err);
  alert('Something went wrong... Please try again later.');
}
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.08.2021, 02:18
Помогаю со студенческими работами здесь

Rest api и клиентское приложение
День добрый! Возник такой вопрос, у кого есть подобный опыт, мысль такая разделить на две части приложения, 1-я rest-сервис, который...

Проблема с rest api приложением с использованием jwt-auth
Всем привет, Делая laravel 7 backend rest api приложение с использованием jwt-auth и настройками в /config/jwt.php 'ttl' =&gt; 20, #...

Spring, метод удалить ВСЕ в REST CRUD
Как сделать метод repository.deleteAll? @DeleteMapping(&quot;phones&quot;) public void deleteAll(@RequestBody List&lt;Phone&gt; phones) { ...

Создать консольное приложение с использованием API
Условие задачи: Создать консольное приложение с использованием API. Создать контейнер STL из фигур (прямоугольники, эллипсы и...

Функции для работы с Google Drive API v3 через REST API в C++ Builder
Выкладываю функции для работы с Google Drive API v3 через REST API в C++ Builder, так-как в Интернете примеров очень мало: Работа с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru