diff --git a/music-track-service/.metadata.json b/music-track-service/.metadata.json new file mode 100644 index 0000000..e31c668 --- /dev/null +++ b/music-track-service/.metadata.json @@ -0,0 +1,5 @@ +{ + "displayName": "Задание: Музыкальный сервис", + "pubDate": "02.02.2026", + "hide": true +} \ No newline at end of file diff --git a/music-track-service/index.md b/music-track-service/index.md new file mode 100644 index 0000000..84da809 --- /dev/null +++ b/music-track-service/index.md @@ -0,0 +1,100 @@ +# Музыкальный Сервис + +## HTTP API + +### Create New Track + +Создаёт новый трек. + +```http +PUT /api/tracks +Accept: application/json +``` + +#### Пример тела запроса + +```json +{ + "title": "My Track Title", + "author": "Me", + "duration": 123000 +} +``` + +#### Пример ответа + +```json +{ + "id": 1, + "title": "My Track Title", + "author": "Me", + "duration": 123000, + "auditions": 0 +} +``` + +### Get Track + +Возвращает трек по идентификатору. + +```http +GET /api/tracks/{id} +``` + +#### Пример ответа + +```json +{ + "id": 1, + "title": "My Track Title", + "author": "Me", + "duration": 123000, + "auditions": 0 +} +``` + +### Increment auditions + +Увеличивает число прослушиваний трека на 1. + +```http +POST /api/tracks/auditions/{id} +``` + +#### Пример ответа + +```json +{ + "auditions": 1 +} +``` + +### Top Tracks + +Возвращает список из десяти наиболее прослушиваемых треков. + +```http +GET /api/tracks/top +``` + +#### Пример ответа + +```json +[ + { + "id": 1, + "title": "My Track Title", + "author": "Me", + "duration": 123000, + "auditions": 0 + }, + { + "id": 2, + "title": "My Track Title", + "author": "Me", + "duration": 123000, + "auditions": 0 + }, + ... +] +``` \ No newline at end of file