Регистрации и авторизации нет. Можно добалять книги, редактировать их, получать все книги, конкретную книгу по id, добавлять цитаты к книгам, добавлять теги к книге.
GET /books/
📥 Ответ:
[
{
"id": 11,
"title": "По ком звонит колокол",
"coverImage": "SGVsbG8gV29ybGQ=",
"tags": [
"Роман",
"Художественная литература",
"Нобелевская премия",
"Эрнест Хэмингуэй"
]
}
]Если теги не назначены —
tags = null
GET /books/{id}
📥 Ответ:
{
"title": "Великий Гэтсби",
"description": "Книга Френсиса Скотта Фицджеральда...",
"coverImage": "SGVsbG8gV29ybGQ=",
"bookText": "Сегодня был тот день, когда Дэзи почти дотягивала до Дэзи его мечтаний, и дело было не в...",
"quotes": [
"Цитата 1",
"Цитата 2"
]
}Если цитаты не назначены —
quotes = null
POST /books/
📤 Тело запроса:
{
"title": "По ком звонит колокол",
"description": "Книга Эрнеста Хэмингуэя...",
"coverImage": "SGVsbG8gV29ybGQ=",
"bookText": "Он лежал на устланной сосновыми иглами бурой земле, уткнув подбородок в скрещённые руки, а ветер шевелил над ним верхушки высоких сосен..."
}PATCH /books/quotes/{id}
📤 Тело запроса:
{
"quotes": [
"А потому никогда не посылай узнать, по ком звонит колокол, он звонит и по тебе.",
"А пока вся твоя жизнь, или все то время, что тебе отпущено...",
"Каждый должен делать то, что может, но делать правильно"
]
}PATCH /books/tags/{id}
📤 Тело запроса:
{
"tags": [
"Роман",
"Художественная литература",
"Нобелевская премия"
]
}
⚠️ Если тег уже существует — он будет взят из БД. Если нет — будет создан. Здесь лучше получить все теги из следующего запроса и предоставить их в виде списка, чтобы избегать ошибок в написании, т.к. теги определяются по имени.
GET /tags/
📥 Ответ:
{
"allTags": [
"Роман",
"Художественная литература",
"Нобелевская премия"
]
}PUT /books/{id}
📤 Тело запроса:
{
"title": "По ком звонит колокол",
"description": "Книга Эрнеста Хэмингуэя про Роберта Джордана, отправленного к партизанам, чтобы...",
"coverImage": "SGVsbG8gV29ybGQ=",
"bookText": "Он лежал на устланной сосновыми иглами бурой земле, уткнув подбородок в скрещённые руки..."
}DELETE /books/{id}
💡 Все изображения должны быть в формате base64
Нет запросов для администратора и поэтому нельзя работать с тегами и цитатами отдельно от книг. Новые теги можно добавить только добавив их к определенной книге. Это совсем неправильно. Хорошо было бы добавить запросы для админа, в которых добавляются теги, а при работе с книгами разрешить использовать только теги, которые уже находятся в БД. Пока не очень хочу переделывать это.