mirror of
https://github.com/wowlikon/LibraryAPI.git
synced 2025-12-11 21:30:46 +00:00
Форматирование кода, добавление лого, исправление тестов, улучшение эндпоинтов и документации
This commit is contained in:
65
README.md
65
README.md
@@ -1,3 +1,4 @@
|
||||

|
||||
# LibraryAPI
|
||||
|
||||
Это проект приложения на FastAPI - современном веб фреймворке для создания API на Python. Я использую Pydantic для валидации данных, SQLModel для взаимодействия с базой данных, Alembic для управления миграциями, PostgreSQL как систему базы данных и Docker Compose для легкого развертывания.
|
||||
@@ -52,42 +53,48 @@
|
||||
### **Эндпоинты API**
|
||||
|
||||
**Авторы**
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-----------------------|---------------------------------------------|
|
||||
| POST | `/authors` | Создать нового автора |
|
||||
| GET | `/authors` | Получить список всех авторов |
|
||||
| GET | `/authors/{id}` | Получить конкретного автора по ID с книгами |
|
||||
| PUT | `/authors/{id}` | Обновить конкретного автора по ID |
|
||||
| DELETE | `/authors/{id}` | Удалить конкретного автора по ID |
|
||||
| GET | `/authors/{id}/books` | Получить список книг для конкретного автора |
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-----------------------|---------------------------------|
|
||||
| POST | `/authors` | Создать нового автора |
|
||||
| GET | `/authors` | Получить список всех авторов |
|
||||
| GET | `/authors/{id}` | Получить автора по ID с книгами |
|
||||
| PUT | `/authors/{id}` | Обновить автора по ID |
|
||||
| DELETE | `/authors/{id}` | Удалить автора по ID |
|
||||
|
||||
**Книги**
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-----------------------|----------------------------------------------|
|
||||
| POST | `/books` | Создать новую книгу |
|
||||
| GET | `/books` | Получить список всех книг |
|
||||
| GET | `/book/{id}` | Получить конкретную книгу по ID с авторами |
|
||||
| PUT | `/books/{id}` | Обновить конкретную книгу по ID |
|
||||
| DELETE | `/books/{id}` | Удалить конкретную книгу по ID |
|
||||
| GET | `/books/{id}/authors` | Получить список авторов для конкретной книги |
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-----------------------|---------------------------------|
|
||||
| POST | `/books` | Создать новую книгу |
|
||||
| GET | `/books` | Получить список всех книг |
|
||||
| GET | `/book/{id}` | Получить книгу по ID с авторами |
|
||||
| PUT | `/books/{id}` | Обновить книгу по ID |
|
||||
| DELETE | `/books/{id}` | Удалить книгу по ID |
|
||||
|
||||
**Жанры**
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-----------------------|----------------------------------------------|
|
||||
| POST | `/genres` | Создать новый жанр |
|
||||
| GET | `/genres` | Получить список всех жанров |
|
||||
| GET | `/genres/{id}` | Получить конкретный жанр по ID |
|
||||
| PUT | `/genres/{id}` | Обновить конкретный жанр по ID |
|
||||
| DELETE | `/genres/{id}` | Удалить конкретный жанр по ID |
|
||||
| GET | `/books/{id}/genres` | Получить список жанров для конкретной книги |
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-----------------------|---------------------------------|
|
||||
| POST | `/genres` | Создать новый жанр |
|
||||
| GET | `/genres` | Получить список всех жанров |
|
||||
| GET | `/genres/{id}` | Получить жанр по ID |
|
||||
| PUT | `/genres/{id}` | Обновить жанр по ID |
|
||||
| DELETE | `/genres/{id}` | Удалить жанр по ID |
|
||||
|
||||
**Связи**
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|------------------------------|-----------------------------------------|
|
||||
| GET | `/relationships/author-book` | Получить список всех связей автор-книга |
|
||||
| POST | `/relationships/author-book` | Добавить связь автор-книга |
|
||||
| DELETE | `/relationships/author-book` | Удалить связь автор-книга |
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|------------------------------|-----------------------------------|
|
||||
| GET | `/authors/{id}/books` | Получить список книг для автора |
|
||||
| GET | `/books/{id}/authors` | Получить список авторов для книги |
|
||||
| POST | `/relationships/author-book` | Связать автор-книга |
|
||||
| DELETE | `/relationships/author-book` | Разделить автор-книга |
|
||||
| GET | `/genres/{id}/books` | Получить список книг для жанра |
|
||||
| GET | `/books/{id}/genres` | Получить список жанров для книги |
|
||||
| POST | `/relationships/genre-book` | Связать автор-книга |
|
||||
| DELETE | `/relationships/genre-book` | Разделить автор-книга |
|
||||
|
||||
**Другие**
|
||||
| Метод | Эндпоинты | Описание |
|
||||
|--------|-------------|-------------------------------|
|
||||
| GET | `/api/info` | Получить информацию о сервисе |
|
||||
|
||||
### **Используемые технологии**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user