Простое REST API для управления событиями (Events).
API позволяет создавать, получать, обновлять и удалять события.
## 🛠 Как начать
Для запуска проекта необходимы:
* .NET SDK (рекомендуется .NET 7 или новее)
* Visual Studio / Rider / VS Code
* Пакет **AutoMapper**
Если AutoMapper не установлен, его можно добавить:
dotnet add package AutoMapper
dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
## 🔧 Инструкция по запуску
1. Клонировать репозиторий.
git clone <repo-url>
2. Открыть решение в Visual Studio.
3. В настройках запуска выбрать проект:
Booking Tickets
4. Запустить проект.
После запуска откроется Swagger UI.
Пример адреса:
https://localhost:xxxx/swagger
Через Swagger можно протестировать все API-эндпоинты.
# Документация API
Базовый путь:
/events
## Получить список событий
GET /events
Ответ:
200 OK
Пример ответа:
{
"id": 1,
"title": "Concert",
"description": "Live music event",
"startAt": "2026-03-10T18:00:00",
"endAt": "2026-03-10T21:00:00"
}
## Получить событие по id
GET /events/{id}
Ответы:
200 OK
404 Not Found
Пример ошибки:
{
"title": "Событие не найдено",
"status": 404,
"detail": "Событие с id 1 отсутствует"
}
## Создать событие
POST /events
Тело запроса:
{
"title": "Conference",
"description": "Tech conference",
"startAt": "2026-04-01T10:00:00",
"endAt": "2026-04-01T18:00:00"
}
Ответы:
201 Created
400 BadRequest
## Обновить событие
PUT /events/{id}
Полное обновление события.
Тело запроса:
{
"title": "Updated event",
"description": "Updated description",
"startAt": "2026-04-01T10:00:00",
"endAt": "2026-04-01T20:00:00"
}
Ответы:
204 No Content
404 Not Found
400 BadRequest
## Удалить событие
DELETE /events/{id}
Ответы:
204 No Content
404 Not Found
# Валидация
При создании и обновлении события проверяется:
* Title - обязательное поле
* StartAt - обязательное поле
* EndAt - обязательное поле
* EndAt должно быть позже StartAt
Поле * id - обязательное. Проверяется для всех запросов, где требуется