Files
my-blog-posts/music-track-service/index.md

108 lines
1.5 KiB
Markdown

# Музыкальный Сервис
## HTTP API
### Create New Track
---
Создаёт новый трек.
```http
PUT /api/tracks HTTP/1.1
Accept: application/json
```
#### Пример тела запроса
```json title="Request Body Example"
{
"title": "My Track Title",
"author": "Me",
"duration": 123000
}
```
#### Пример ответа
```json title="Response Body Example"
{
"id": 1,
"title": "My Track Title",
"author": "Me",
"duration": 123000,
"auditions": 0
}
```
### Get Track
---
Возвращает трек по идентификатору.
```http
GET /api/tracks/{id} HTTP/1.1
```
#### Пример ответа
```json title="Response Body Example"
{
"id": 1,
"title": "My Track Title",
"author": "Me",
"duration": 123000,
"auditions": 0
}
```
### Increment auditions
---
Увеличивает число прослушиваний трека на 1.
```http
POST /api/tracks/auditions/{id} HTTP/1.1
```
#### Пример ответа
```json
{
"auditions": 1
}
```
### Top Tracks
---
Возвращает список из десяти наиболее прослушиваемых треков.
```http
GET /api/tracks/top HTTP/1.1
```
#### Пример ответа
```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
},
...
]
```