Skip to content

Seniacat/API_YaMDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

API_YaMDB

yamdb_workflow

ОписаниС

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ сСрвиса API для YaMDB - ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти, которая собираСт ΠΎΡ‚Π·Ρ‹Π²Ρ‹ (Review) ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° произвСдСния (Title) Π² Ρ€Π°Π·Π½Ρ‹Ρ… катСгориях ΠΈ ΠΆΠ°Π½Ρ€Π°Ρ…, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ. ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ дСлятся Π½Π° ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ (Category) ΠΈ ΠΆΠ°Π½Ρ€Ρ‹ (Genres), список ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½, Π½ΠΎ ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΆΠ°Π½Ρ€ΠΎΠ², ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ администратор. Для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ подтвСрТдСния.Для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ JWT-Ρ‚ΠΎΠΊΠ΅Π½Ρ‹.

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ REST API CRUD для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ примнСняСтся JWT-Ρ‚ΠΎΠΊΠ΅Π½. Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΠ΅Ρ€ΠΌΠΈΡˆΠ΅Π½Ρ‹, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, сортировки ΠΈ поиск ΠΏΠΎ запросам ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° пагинация ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ API, установлСно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства запросов ΠΊ API. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ разворачиваСтся Π² Ρ‚Ρ€Π΅Ρ… Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…: web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, postgresql-Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ nginx-сСрвСр.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Π½Π° Π±ΠΎΠ΅Π²ΠΎΠΌ сСрвСрС Yandex.Cloud. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ CI ΠΈ CD ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈ push ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ автоматичСскиС тСстируСтся Π½Π° соотвСствиС трСбованиям PEP8 ΠΈ провСряСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ автотСстами. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ прохоТдСния тСстов, Π½Π° git-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ собираСтся ΠΎΠ±Π·Ρ€Π°Π· web-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Docker ΠΈ автоматичСски Ρ€Π°Π·ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ΡΡ Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ DockerHub. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· автоматичСски разворачиваСтся Π½Π° Π±ΠΎΠ΅Π²ΠΎΠΌ сСрвСрС Π²ΠΌΠ΅Ρ‚Π΅ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ Π²Π΅Π±-сСрвСра nginx ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL.

БистСмныС трСбования

  • Python 3.7+
  • Docker
  • Works on Linux, Windows, macOS

Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

  • Python 3.8
  • Django 3.2
  • Django Rest Framework
  • Simple-JWT
  • PostreSQL
  • Nginx
  • Gunicorn
  • Docker
  • GitHub Actions (CI/CD)

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Docker - ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…:

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:

git clone https://github.com/Seniacat/API_YaMDB.git
cd API_YaMDB/

Π”ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ свободСн ΠΏΠΎΡ€Ρ‚ 8000. PostgreSQL поднимаСтся Π½Π° 5432 ΠΏΠΎΡ€Ρ‚Ρƒ, ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ свободСн. CΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .env с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния:

cd infra
touch .env

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ .env Ρ„Π°ΠΉΠ» с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ (SECRET_KEY см. Π² Ρ„Π°ΠΉΠ»Π΅ settings.py). НСобходимыС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ .env.example Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:

echo DB_ENGINE=django.db.backends.postgresql >> .env

echo DB_NAME=postgres >> .env

echo POSTGRES_PASSWORD=postgres >> .env

echo POSTGRES_USER=postgres  >> .env

echo DB_HOST=db  >> .env

echo DB_PORT=5432  >> .env

echo SECRET_KEY=************ >> .env

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ прилоТСния Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… (ΠΎΠ±Ρ€Π°Π· для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° web загруТаСтся ΠΈΠ· DockerHub):

docker-compose up -d

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΡƒΠΏΠ΅Ρ€ΡŽΠ·Π΅Ρ€Π°, ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ статику ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π‘Π”:

docker-compose exec web python manage.py migrate

docker-compose exec web python manage.py createsuperuser

docker-compose exec web python manage.py collectstatic --no-input 

docker-compose exec web python manage.py loaddata fixtures.json

ДокумСнтация ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

ДокумСнтация для API доступна ΠΏΠΎ ссылкС послС установки прилоТСния.

Π Π°Π±ΠΎΡ‚Π° с API для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Для Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π° с API доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ чтСния

ΠŸΡ€Π°Π²Π° доступа: Доступно Π±Π΅Π· Ρ‚ΠΎΠΊΠ΅Π½Π°.
GET /api/v1/categories/ - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ
GET /api/v1/genres/ - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΆΠ°Π½Ρ€ΠΎΠ²
GET /api/v1/titles/ - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ
GET /api/v1/titles/{title_id}/reviews/ - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ²
GET /api/v1/titles/{title_id}/reviews/{review_id}/comments/ - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ ΠΎΡ‚Π·Ρ‹Π²Ρƒ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ€ΠΎΠ»ΠΈ

  • Anonymous β€” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ описания ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
  • АутСнтифицированный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (user) β€” ΠΌΠΎΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΈ Аноним, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ всё, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ произвСдСниям (Ρ„ΠΈΠ»ΡŒΠΌΠ°ΠΌ/ΠΊΠ½ΠΈΠ³Π°ΠΌ/пСсСнкам), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΈΠ΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‹; ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ свои ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Роль присваиваСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.
  • ΠœΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€ (moderator) β€” ΠΎΠ±Π»Π°Π°Π΄Π΅Ρ‚ ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ + ΠΏΡ€Π°Π²ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
  • Администратор (admin) β€” ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ всСм ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ произвСдСния, ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈ ΠΆΠ°Π½Ρ€Ρ‹, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

РСгистрация Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° подтвСрТдСния Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ email. Поля email ΠΈ username Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

POST /api/v1/auth/signup/

{
  "email": "string",
  "username": "string"
}

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ JWT-Ρ‚ΠΎΠΊΠ΅Π½Π° для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

POST /api/v1/auth/token/

{
  "username": "string",
  "confirmation_code": "string"
}

Π Π°Π±ΠΎΡ‚Π° с API для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… своСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи:

ΠŸΡ€Π°Π²Π° доступа: user
GET api/v1/users/me/

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ:

ΠŸΡ€Π°Π²Π° доступа: admin
POST /api/v1/categories/

{
  "name": "string",
  "slug": "string"
}

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠ°Π½Ρ€ΠΎΠ²:

ΠŸΡ€Π°Π²Π° доступа: admin
POST /api/v1/genres/

{
  "name": "string",
  "slug": "string"
}

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ:

ΠŸΡ€Π°Π²Π° доступа: admin
POST /api/v1/titles/
PATCH /api/v1/titles/{titles_id}/

{
  "name": "string",
  "year": 0,
  "description": "string",
  "genre": [
    "string"
  ],
  "category": "string"
}

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ

DELETE /api/v1/titles/{titles_id}/

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список эндпойнтов, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запросов описаны Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ:

/redoc/ 

Releases

No releases published

Packages

No packages published

Languages