Skip to content

Kim12456/booking-tickets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Booking tickets API

Простое 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 - обязательное. Проверяется для всех запросов, где требуется

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages