πΈ 21 Π»ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ²Π΅Π΄Π΅Ρ Π²Π°ΡΠΈ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API Π½Π° Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² ΡΠΆΠ°ΡΠ½ΠΎΠΌ API ΠΈ Π½Π΅ ΠΈΠ³ΡΠ°ΡΡ Π² ΡΠ³Π°Π΄Π°ΠΉΠΊΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Ρ, ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΡΡΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΎΠ±Π·ΠΎΡΠ΅.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π°Π²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Mohammad Faisal.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
ΠΡΠ±ΠΎΠΉ API ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌΡ ΡΠ΅ΡΡΡΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ.
- ΡΠ΅ΡΡΡΡ: ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, User;
- ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ: Π³ΡΡΠΏΠΏΠ° ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, List of users;
- URL: ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /user.
1. Kebab-case Π΄Π»Ρ URL-Π°Π΄ΡΠ΅ΡΠΎΠ²
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΊΠ°Π·ΠΎΠ².
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
2. CamelCase Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
3. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
4. URL Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΠ»ΠΎΡ ΠΎ:
ΠΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, Π° Π½Π΅ ΡΠ΅ΡΡΡΡ.
Π₯ΠΎΡΠΎΡΠΎ:
5. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»Π°Π³ΠΎΠ»Ρ Π² URL ΡΠ΅ΡΡΡΡΠ°
ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»Π°Π³ΠΎΠ»Ρ Π² URL Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
6. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»Π°Π³ΠΎΠ»Ρ Π² URL Π΄Π»Ρ Non-Resource
Π£ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ΄, Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Π½ΠΈΡΠ΅Π³ΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π»Π°Π³ΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π₯ΠΎΡΠΎΡΠΎ:
7. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ camelCase Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° JSON
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅Ρ Π² JSON, ΠΈΠΌΠ΅Π½Π° ΡΠ²ΠΎΠΉΡΡΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² camelCase.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
8. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
Π‘Π»ΡΠΆΠ±Ρ HTTP RESTful Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ API /health, /version ΠΈ /metrics, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
- /health β ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 200 OK;
- /version β ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ;
- /metrics β ΡΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°.
ΠΠ°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ /debug ΠΈ /status.
9. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ table_name Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠ°
ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠ°. Π Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΡΠ°ΠΊΠ°Ρ Π»Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
10. ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠΎΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API:
- API Blueprint
- Swagger
ΠΠ°Π»ΠΈΡΠΈΠ΅ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ API.
11. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π΅ΡΡΠΈΠΈ
ΠΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ API. ΠΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ v1, v2 ΠΈ Ρ. Π΄.
Π₯ΠΎΡΠΎΡΠΎ:
ΠΡΠ»ΠΈ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΈΡΡ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
12. ΠΡΠ²ΠΎΠ΄ΠΈΡΠ΅ Π² ΠΎΡΠ²Π΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΡΠ»ΠΈ API Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²ΡΠ΅Π³Π΄Π° Π²ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΎΡΠ²Π΅Ρ.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
13. ΠΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ GET.
Π₯ΠΎΡΠΎΡΠΎ:
ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠΈ Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅.
14. ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΠ»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ°
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ fields, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ API.
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ΅ΡΠ½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π°Π΄ΡΠ΅Ρ ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ².
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ°.
15. ΠΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΠΉΡΠ΅ Π² URL ΡΠΎΠΊΠ΅Π½Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠ»ΠΎΡ Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ URL ΡΠ°ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ°ΡΠΊΠ΅Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ»ΠΎΡ ΠΎ:
Π₯ΠΎΡΠΎΡΠΎ:
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΠΊΠ΅Π½Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅ΡΠ½ΡΠΌΠΈ.
16. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Content-Type
Π‘Π΅ΡΠ²Π΅Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ content-type. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ application/x-www-form-urlencoded, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΠΌΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ POST.
17. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² HTTP Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ CRUD
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ CRUD-ΡΡΠ½ΠΊΡΠΈΠΉ:
- GET: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°.
- POST: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΡΡΡΠΎΠ².
- PUT: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ².
- PATCH: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ², Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ
ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ (ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΡΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ).
- DELETE: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ².
18. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π² URL Π΄Π»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ:
- GET /shops/2/products: ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈΠ· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° 2.
- GET /shops/2/products/31: ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ 31, ΠΈΠ· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° 2.
- DELETE /shops/2/products/31: ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡ 31 ΠΈΠ· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° 2.
- PUT /shops/2/products/31: ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ 31 (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ URL ΡΠ΅ΡΡΡΡΠ°, Π° Π½Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ).
- POST /shops: ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π΅ΠΌ.
19. CORS
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ CORS (Cross-Origin Resource Sharing) Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ API.
20. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTPS (Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ TLS) ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ, ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌ.
21. ΠΡΠΈΠ±ΠΊΠΈ
ΠΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π΅Π»Π°Π΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΊ ΡΠ»ΡΠΆΠ±Π΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ»ΡΠΆΠ±Π΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π° ΡΠ° ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: Π½Π΅Π²Π΅ΡΠ½ΡΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΈ Ρ. Π΄.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΠΈ Π²ΡΠ΅ β ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΡΠ»ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ! ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, Π²Ρ ΠΊΠΎΠ΅-ΡΠ΅ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΡΡΠ°ΡΡΠΈ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . Π£Π΄Π°ΡΠΈ!
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ:
- ΠΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² RESTful API
- VK API Π½Π° Python: ΡΠ°ΡΡΡ 1, Π²ΡΠ³ΡΡΠΆΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠΎΡΠΎ ΠΈΠ· Π°Π»ΡΠ±ΠΎΠΌΠ°
- ΠΡΠΈΡΡΡΠΈ Π±Π΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΡΡΡ: 7 ΡΠ°Π³ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ API
- Python ΠΈ API: ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΠΊΠΎΠΌΠ±ΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ
- Π₯Π²Π°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ REST Π΄Π»Ρ API!