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