ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Yatube - Π±Π»ΠΎΠ³Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ API Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΈΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ²: GET, POST, PATCH, PUT, DELETE
-
ΠΠΎΠ΄ΠΏΠΈΡΠΊΠ° ΠΈ ΠΎΡΠΏΠΈΡΠΊΠ° ΠΎΡ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
-
ΠΠ²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΡ, ΡΠΎΠ·Π΄Π°Π²ΡΡ Π½ΠΎΠ²ΡΠ΅, ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ ;
-
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²;
-
ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΎΡΠΌΠΎΡΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²;
-
Π€Π»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΡΠΎΠ² (ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΡΠ΄Π°Π»ΠΈΡΡ, ΡΠΎΠ·Π΄Π°ΡΡ), Π΄Π»Ρ 3-Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ permissions:
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
git clone git@github.com:krivse/API_Yatube.git
python3 -m venv venv
# Π΄Π»Ρ OS Lunix ΠΈ MacOS
source venv/bin/activate
# Π΄Π»Ρ OS Windows
source venv/Scripts/activate
python3 -m pip install --upgrade pip
pip install -r requirements.txt
cd yatube
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver
ΠΡΠΏΡΠ°Π²ΠΈΡΡ POST-Π·Π°ΠΏΡΠΎΡ Π½Π° Π°Π΄ΡΠ΅Ρ api/v1/jwt/create/
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ 2 ΠΏΠΎΠ»Ρ Π² data
:
username
- Π»ΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.password
- ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ POST-Π·Π°ΠΏΡΠΎΡ Π½Π° Π°Π΄ΡΠ΅Ρ api/v1/posts/
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ text
, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Authorization:Bearer <ΡΠΎΠΊΠ΅Π½>
.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°:
{
"text": "testpost"
}
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ°:
{
"id": 1,
"author": "krivse",
"text": "testpost",
"pub_date": "2022-07-22T12:12:22.021094Z",
"image": null,
"group": null
}
ΠΡΠΏΡΠ°Π²ΠΈΡΡ POST-Π·Π°ΠΏΡΠΎΡ Π½Π° Π°Π΄ΡΠ΅Ρ api/v1/posts/{post_id}/comments/
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ post
ΠΈ text
, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Authorization:Bearer <ΡΠΎΠΊΠ΅Π½>
.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°:
{
"post": 1,
"text": "test"
}
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ°:
{
"id": 1,
"author": "krivse",
"text": "test",
"created": "2022-07-22T12:12:13.146875Z",
"post": 1
}
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
http://127.0.0.1:8000/redoc/
Π£Π΄ΠΎΠ±Π½Π°Ρ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈΡ:
https://www.postman.com/