108 lines
1.5 KiB
Markdown
108 lines
1.5 KiB
Markdown
# Музыкальный Сервис
|
|
|
|
## HTTP API
|
|
|
|
### Create New Track
|
|
|
|
---
|
|
|
|
Создаёт новый трек.
|
|
|
|
```http
|
|
PUT /api/tracks HTTP/1.1
|
|
Accept: application/json
|
|
```
|
|
|
|
#### Пример тела запроса
|
|
|
|
```json title=Request\sBody\sExample
|
|
{
|
|
"title": "My Track Title",
|
|
"author": "Me",
|
|
"duration": 123000
|
|
}
|
|
```
|
|
|
|
#### Пример ответа
|
|
|
|
```json title=Response\u0020Body\u0020Example
|
|
{
|
|
"id": 1,
|
|
"title": "My Track Title",
|
|
"author": "Me",
|
|
"duration": 123000,
|
|
"auditions": 0
|
|
}
|
|
```
|
|
|
|
### Get Track
|
|
|
|
---
|
|
|
|
Возвращает трек по идентификатору.
|
|
|
|
```http
|
|
GET /api/tracks/{id} HTTP/1.1
|
|
```
|
|
|
|
#### Пример ответа
|
|
|
|
```json title=ResponseBodyExample
|
|
{
|
|
"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
|
|
},
|
|
...
|
|
]
|
|
``` |