Skip to content

Latest commit

 

History

History
79 lines (57 loc) · 3.84 KB

step11.md

File metadata and controls

79 lines (57 loc) · 3.84 KB

KatlaSport Project

Шаг 11. HiveController

Задание

В контроллере HivesController реализовать методы для добавления, редактирования и удаления сущности Hive. Все методы должны быть асинхронными и вызывать соответствующие методы сервиса через интерфейс IHiveService. Используйте существующие контроллеры ProductsController и ProductCategoriesController в качестве образца.

Выполнение

  1. Создать ветку.
  2. Реализовать метод AddHive:
  • Метод запроса HTTP и URL: POST /api/hives.
  • Метод должен принимать JSON в теле запроса со следующей структурой (используйте класс UpdateHiveRequest):
{
	"name": "string",
	"code": "string",
	"address": "string"
}
  • Задокументируйте коды ответа HTTP: Created, BadRequest, Conflict, InternalServerError.
  • Метод должен проверять поля модели на валидность.
  • Метод должен возвращать header "Location" с указанием на URI созданного ресурса.
  1. Реализовать метод UpdateHive:
  • Метод запроса HTTP и URL: PUT /api/hives/{hiveId}.
  • Метод должен принимать JSON в теле запроса со следующей структурой:
{
	"name": "string",
	"code": "string",
	"address": "string"
}
  • Задокументируйте коды ответа HTTP: NoContent, BadRequest, Conflict, NotFound, InternalServerError.
  • Метод должен проверять поля модели на валидность.
  1. Реализовать метод DeleteHive:
  • Метод запроса HTTP и URL: DELETE /api/hives/{hiveId}.
  • Задокументируйте коды ответа HTTP: NoContent, BadRequest, Conflict, NotFound, InternalServerError.
  • Метод должен проверять hiveId >= 1.
  1. Добавить в HiveManagementMappingProfile новый маппинг:
CreateMap<UpdateHiveRequest, DataAccessHive>()
    .ForMember(r => r.LastUpdated, opt => opt.MapFrom(p => DateTime.UtcNow));
  1. Собрать проект, исправить ошибки. "commit", "push". Влить в "master".

Проверка

Используйте swagger-консоль для проверки работоспособности новых методов API веб-сервиса.

Материалы

Материалы для самостоятельного изучения:

Дополнительные материалы: