______ ____ ____ __ _
/ ____/___ ____/ / /__ __________/ __ \____ ______/ /_(_)__ _____
/ __/ / __ \/ __ / / _ \/ ___/ ___/ /_/ / __ `/ ___/ __/ / _ \/ ___/
/ /___/ / / / /_/ / / __(__ |__ ) ____/ /_/ / / / /_/ / __(__ )
/_____/_/ /_/\__,_/_/\___/____/____/_/ \__,_/_/ \__/_/\___/____/
EndlessParties - простой сервис для организации мероприятий любого уровня: от встреч в верхах до дружеских посиделок у костра
API предоставляет следующие возможности для управления мероприятиями (Events):
-
GET /events: получение списка всех событий
Параметры фильтрации (Query string):
Title(строка, необязательный) — поиск по названиюDescription(число, необязательный) — поиск по описаниюFrom(дата, необязательный) — фильтр по дате и времени начала (включительно)To(дата, необязательный) — фильтр по дате и времени завершения (включительно)SortDirection(число) — направление сортировки (1 - по возрастанию, 2 - по убыванию)Page(число, необязательный) — номер страницы для пагинации (по умолчанию:1)PageSize(число, необязательный) — количество элементов на странице (по умолчанию:10)
-
GET /events/{id}: получение события по идентификатору
-
POST /events: создание события
-
PUT /events/{id}: обновление события
-
DELETE /events/{id}: удаление события
-
400 BadRequest: ошибка выполнения приложения
{ "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1", "title": "Ошибка выполнения приложения", "status": 400, "detail": "Ошибка получения всех событий", "instance": "/events", "traceId": "00-99d784723d66b9db814da9fd1ef0c466-4acfee88b17f56ad-00" } -
500 InternalServerError: внутренняя ошибка сервера
{ "type": "https://tools.ietf.org/html/rfc9110#section-15.6.1", "title": "Неизвестная ошибка выполнения приложения", "status": 500, "detail": "Неизвестная ошибка", "instance": "/events", "traceId": "00-ab8552432b7d8d1fa39968abd9c9bf80-48c69cd853602627-00" } -
404 NotFound: запрашиваемый объект не найден
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.5",
"title": "Запрашиваемый объект не найден",
"status": 404,
"detail": "Событие не найдено. Id: \"6f5128c1-9661-4588-a379-adc4464c77bd\"",
"instance": "/events/6f5128c1-9661-4588-a379-adc4464c77bd",
"traceId": "00-cabb3b6eab7fe8494c311825004ddfff-2e156146f6a0ad90-00"
}- 422 UnprocessableEntity: ошибка валидации входных значений
{
"type": "https://tools.ietf.org/html/rfc4918#section-11.2",
"title": "Ошибка валидации данных",
"status": 422,
"instance": "/events",
"errors": {
"StartAt": [
"'Start At' должно быть меньше '03.03.2026 22:38:05'."
]
},
"traceId": "00-e5c9af7b7f1c58de0a37043895dc54ec-c50d16f39e864b21-00"
}- .NET 10 SDK
- IDE (Visual Studio 2022 / JetBrains Rider / VS Code)
- Клонируйте репозиторий:
git clone https://github.com/ns-88/EndlessParties
- Перейдите в директорию проекта:
cd EndlessParties - Восстановите зависимости и соберите проект:
dotnet build
- Запустите приложение:
dotnet run --project src\Presentation\EndlessParties.Presentation
После запуска Swagger-документация будет доступна по адресу: http://localhost:5000/index.html
dotnet test