REST-архитектура, отправка данных на сервер

REST-архитектура и отправка данных на сервер #

REST-архитектура #

Презентацию по теме можно посмотреть по ссылке.

Видео-запись: Rutube

Отправка данных на сервер #

Презентацию по теме можно посмотреть по ссылке.

Видео-запись: Rutube

Задание № 1. Использование POST-запроса для создания треугольника #

Измените тип запроса на создание треугольника по пути /v1/triangles/new-one с GET на POST. Выполните POST-запрос по данному пути и убедитесь, что приложение его обработало. Новый треугольник должен появиться в списке треугольников.

Выполните GET-запрос по данному пути. Приложение должно ответить кодом 404 на обращение к несуществующему маршруту, новый треугольник не должен был создан.

Задание № 2. Передача параметров по созданию пользователя в теле #

Реализуйте обработчик по добавлению нового пользователя по пути /v2/user.

На данный адрес клиент должен высылать POST-запрос с данными в формате application/x-www-form-urlencoded. Должны передаваться 2 параметра:

  • Login, уникальное имя пользователя, не может быть пустым.
  • Email, электронная почта пользователя, не может быть пустой.

Если были переданы не все требующиеся поля или хотя бы одно из полей передано не корректно, то приложение должно вернуть ответ с кодом 400 и JSON-документом, в котором описаны ошибки для каждого из полей.

В случае отсутствия необходимых полей необходимо вернуть JSON-документ следующей структуры

{
   "Login":{
      "Value":"",
      "Error":"Ожидается непустая строка"
   },
   "Email":{
      "Value":"",
      "Error":"Ожидается непустая строка"
   }
}

Если данные были переданы верно, но пользователь с таким именем учётной записи (Login) уже существует, то приложение должно вернуть ответ с кодом 409.

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

В качестве успешного ответа приложение должно вернуть код 201, в качестве тела необходимо вернуть JSON-документ, который содержит идентификатор созданного пользователя

{
  "Id":"de42a00f-7f43-4d10-808d-bee47fdeef49"
}

© A. M. Васильев, 2024, CC BY-SA 4.0, andrey@crafted.su