Api ΡΠΈΡΡΠ΅ΠΌΠ°: API β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API / Π₯Π°Π±Ρ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π‘Π»ΠΎΠ²ΠΎ Β«APIΒ» ΠΌΠ΅Π»ΡΠΊΠ°Π΅Ρ Π² Π²Π°ΠΊΠ°Π½ΡΠΈΡΡ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ². Π’ΠΎ REST API, ΡΠΎ SOAP API, ΡΠΎ ΠΏΡΠΎΡΡΠΎ API. Π§ΡΠΎ ΠΆΠ΅ ΡΡΠΎ Π·Π° Π·Π²Π΅ΡΡ ΡΠ°ΠΊΠΎΠΉ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ!
β Π Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ ΠΌΠ½Π΅? Π― Π²ΠΎΠΎΠ±ΡΠ΅-ΡΠΎ web ΡΠ΅ΡΡΠΈΡΡΡ! ΠΠΎΡ Π΅ΡΠ»ΠΈ ΠΏΠΎΠΉΠ΄Ρ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ, ΡΠΎΠ³Π΄Π° Π΄Π°β¦ ΠΡ, Π΅ΡΠ΅ ΡΡΠΎ Π² enterprise ΡΠ΅ΡΡΠΈΡΡΡΡ, Ρ ΡΠ»ΡΡΠ°Π»β¦
Π Π²ΠΎΡ ΠΈ Π½Π΅Ρ! ΠΡΠΎ API ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ Π»ΡΠ±ΠΎΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΡ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎ Π½Π΅ΠΌΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ Π΄Π°ΠΆΠ΅ Π½Π° ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΠΈ Π·Π°Ρ ΡΠ΄Π°Π»ΡΡ ΡΠ°ΠΉΡΠ°Ρ .
ΠΡΠ±Π°Ρ ΠΎΠΏΠ»Π°ΡΠ° ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· API ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΏΠΈΠ» Π±ΠΈΠ»Π΅Ρ Π² ΠΊΠΈΠ½ΠΎ? ΠΠ°Π΅ΡΠΊΡ Π² ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅? ΠΠ½ΠΈΠΆΠΊΡ? ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΆΠΌΠ΅ΡΡ Β«ΠΎΠΏΠ»Π°ΡΠΈΡΡΒ», ΡΠ°ΠΉΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ΅Π±Ρ Ρ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Ρ Π²Π°Ρ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π΅ΡΡΡ API! ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ ΡΠΎΠΆΠ΅ ΠΎΠ±ΡΠ°Π΅ΡΡΡ ΠΏΠΎ api. Π ΠΏΠΎΠΊΠ° ΡΡΠΎΠ½Ρ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΈΠ»Π΅Π½Π½ΠΎ ΠΏΠΈΠ»ΠΈΡ GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΡΠΊΡΡΠ°ΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ;
- ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ API
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ Π·Π° Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ! Π’Π°ΠΊ ΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ API. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π°
youtube
, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π»ΡΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°ΡΡΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API
API (Application programming interface) β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Β«ΠΠΎ ΠΌΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·ΡΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΈ ΡΡΠΎΒ».
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΡΡΡΠΊΠΈΠΉ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΎΠ²ΠΎ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΒ». ΠΠΎΠ³ΠΎΠ²ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΠΌΠ°ΡΠΈΠ½Ρ:
- ΠΌΠΎΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ β Π²Π½Π΅ΡΡΠΈ ΡΠ°ΠΊΡΡ ΡΠΎ ΡΡΠΌΠΌΡ,
- ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° β Π΄Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ.
ΠΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°. ΠΠΎ Π½ΠΈΠΊΡΠΎ ΡΠ°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ Β―\_(γ)_/Β―
ΠΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΒ». Π’Π°ΠΊ ΠΏΡΠΈΠ½ΡΡΠΎ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
- Code first β ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΌΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ
- Contract first β ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ (Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΠΈΠ»Π΅)
ΠΡ ΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Β«ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΡ ΠΌΠ°ΡΠΈΠ½ΡΒ»? ΠΠΎΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ Π³ΠΎΠ²ΠΎΡΡΡ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΒ». ΠΠ΅Π³Π»Π°ΡΠ½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.
API β Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΊΡΠΏΠ°Π΅ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, Π²Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π²ΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ Π²Π°Ρ ΠΏΡΠ½ΠΊΡΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ. ΠΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΊ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, API ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ βΠΠ°ΠΊ ΠΊΠΎ ΠΌΠ½Π΅, ΠΊ ΠΌΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ?β, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- ΡΠ°ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ (ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅).
Π’ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ½Π΅ ΡΠΊΠ°Π·Π°ΡΡ:
β Π₯ΠΌΠΌ, ΠΏΠΎΠ³ΠΎΠ΄ΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ, Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π΅, Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ β ΠΊΠ°ΠΊ-ΡΠΎ Π²ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ!
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΡΡΠ°Π»ΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π΅, Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅, ΠΈ Π½Π΅ΠΊΠ°Ρ ΠΌΠ°Π³ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ Π² Π΄ΡΡΠ³ΠΎΠ΅.
Π Π΄Π°! ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠ°Π²Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠΈ. ΠΠΎΡΠ΅ΠΌΡ? ΠΠ° ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ API β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ°ΠΊ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ° Π±Π΅Π· ΡΠ°Π·Π½ΠΈΡΡ ΠΊΠ°ΠΊ. ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π°Ρ ΠΎΡΠ΅Ρ, ΡΠ°ΠΊ ΠΈ ΡΠ³ΡΡΠΏΠΏΠΈΡΡΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ API ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ. Π’ΠΎ Π΅ΡΡΡ:
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ API Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ;
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ API Π΄Π»Ρ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΠΈ β ΠΎΡΡΠ΅Ρ 1, ΠΎΡΡΠ΅Ρ 2, ΠΎΡΡΠ΅Ρ 3β¦ ΠΎΡΡΠ΅Ρ N. ΠΠ»Ρ ΡΠ°Π·Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² Ρ Π½Π°Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ = ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π²ΡΠ΅ ΠΌΡ ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π² ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ, api Π΄Π»Ρ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΠΈ.
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ API ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΊ β Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π±Π°Π½ΠΊΠΎΠΌ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ.
- …
ΠΠΎΠΆΠ½ΠΎ Π½Π΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅, Π° Π΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ API.
ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ API, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Β«ΠΏΠΎΠ΄ Π·Π°ΠΊΠ°Π·Β». ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΠΎ Π² Π½Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π Π»ΡΠ±ΡΠ΅ Ρ ΠΎΡΠ΅Π»ΠΊΠΈ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² Π²ΡΠ½ΠΎΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ API, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΌ Π±ΡΠ΄ΡΡ
Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ, Π² ΡΠ°Π·Π½ΡΠ΅ Π°ΠΏΠΈ. ΠΠΈΠΊΡΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ API. ΠΠΈΠ±ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅, Π»ΠΈΠ±ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ, ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π°ΠΏΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΎΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.
ΠΡΠΈ ΡΠ΅ΠΌ ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ»
β ΠΠΈΠ½ΡΡΠΎΡΠΊΡ, ΠΠ»Ρ! Π’Ρ ΠΆΠ΅ ΡΠ°ΠΌΠ° Π²ΡΡΠ΅ ΠΏΠΈΡΠ°Π»Π°, ΡΡΠΎ API β ΡΡΠΎ Application programming interface. ΠΠΎΡΠ΅ΠΌΡ ΡΡ ΡΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ΅, Ρ ΠΎΡΡ ΡΠ°ΠΌ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ?
ΠΠ° ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΠΠ (ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) Π΅ΡΡΡ 3 ΠΊΠΈΡΠ°:
- ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ
- ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΠ°ΠΆΠ°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΡ β ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΡΠ΅Ρ. Π ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ·Π½ΡΡΡΠΈ β Π΅ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ. ΠΠ°ΠΊΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ? Oracle? MySQL? ΠΠ° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°? ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄? ΠΠ΅ ΡΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈΠΌ ΠΎΠ½ ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ SOAP, REST ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ API. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ:
- ΡΡΠΎ ΠΏΠΎΠ΄Π°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄;
- ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅;
- ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ
GUI β graphical user interface
. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ
API β Application programming interface
. ΠΠΌ Π½Π΅ Π½ΡΠΆΠ½Π° Π³ΡΠ°ΡΠΈΠΊΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ.
ΠΡΠ·Π²Π°ΡΡ Π°ΠΏΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ°ΠΏΡΡΠΌΡΡ:
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
- ΠΠ²ΡΠΎΡΠ΅ΡΡΡ Π΄Π΅ΡΠ³Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΡΠ²Π΅Π½Π½ΠΎ:
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ GUI
ΠΡΠ·ΠΎΠ² API Π½Π°ΠΏΡΡΠΌΡΡ
1. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ
Π Π°Π·Π½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΡΠΎ Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ API!
ΠΡΠΎ ΡΠ°ΠΌΡΠΉ Β«ΠΏΡΠΎΡΡΠΎΠΉΒ» Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π°Π²ΡΠΎΡ API, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π ΠΎΠ½ ΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ! Π Π·Π½Π°ΡΠΈΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π½Π΅Ρ =)
Π¨ΡΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π°. ΠΡΠΎΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅. Π ΠΎΠ½ΠΈ, ΡΠ²Ρ, ΡΠΎΠΆΠ΅ Π±ΡΠ²Π°ΡΡ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ. ΠΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°Π·Π½ΡΠ΅, ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½, Π½ΠΎ ΡΠΆΠ΅ Π·Π°Π±ΡΠ», ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π» ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ api ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡβ¦
2. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Π Π²ΠΎΡ ΡΡΠΎ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΊΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠ°Ρ . ΠΠ»ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΡΠΆΠΎΠΉ.
ΠΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π΅ΡΠ³Π°Π΅Ρ ΡΠ΅ΡΠ΅Π· api ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ ΡΠ΅ΡΠΈΠ»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈΠ· ΠΠ°Π΄Π°ΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΡΠΈΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π»Π΅Π³ΠΊΠΎ Π²Π²Π΅Π» Π°Π΄ΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ.
Π― ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎ API. Π ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅, ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈΠ· ΠΠ°Π΄Π°ΡΡ. ΠΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ:
- ΠΠ½ Π²Π²ΠΎΠ΄ΠΈΡ Π±ΡΠΊΠ²Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅
- ΠΠΎΠΉ ΡΠ°ΠΉΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ Π² ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΠ°Π΄Π°ΡΡ ΠΏΠΎ API
- ΠΠ°Π΄Π°ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ
- ΠΠΎΠΉ ΡΠ°ΠΉΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠΎΠ½ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ! Π ΡΠ°ΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½ΠΎ ΠΎΠ½ΠΎ Π΅ΡΡΡ.
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎ ΠΊΠ΅ΠΉΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ API-ΠΌΠ΅ΡΠΎΠ΄. ΠΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· SOAP ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ, Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΅Π³ΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ. Π§ΡΠΎ ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊ Π·Π°ΠΊΠ°Π·Π°Π», ΡΠΎ ΠΌΡ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Β―\_(γ)_/Β―
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Users. ΠΠ΅ΡΠΎΠ΄ MagicSearch ΡΠΎΠ·Π΄Π°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. Π₯ΠΎΡΡ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠ·Π½Π°ΡΡ, Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅ΡΠ΅ Π·Π°ΠΌΡΠ΄ΡΠ΅Π½Π΅Π΅ Π±ΡΠ»Π°, Ρ ΡΠΎ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΡ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π»Π°.
ΠΠΎ ΡΡΡ ΡΠΈΡΠΊΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠ°ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°. ΠΡ, ΠΌΠΎΠΆΠ΅Ρ, ΠΏΠ°ΡΠΎΡΠΊΠ° ΡΠΈΠ»ΡΡΡΠΎΠ². Π Π²ΠΎΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½ΡΠΆΠ½Π° Π±ΡΠ»Π° ΡΠ΅Π»Π°Ρ ΠΊΡΡΠ° Π΄ΠΎΠΏ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΡΠΎ ΠΈ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π· SOAP-ΠΌΠ΅ΡΠΎΠ΄.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΡΠΏΠ΅Ρ-ΠΏΠΎΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ API, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΡΡΠΏΠ°Π΅Ρ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π²Π°Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π΅ΡΡΡ Π’Π, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ API-ΠΌΠ΅ΡΠΎΠ΄. ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° β ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ. Π’ΠΈΠΏΠΈΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΠ΅ΡΡΠ°ΠΌ Π½Π° ΡΠ΅ΡΡ-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API, ΠΈ Π΄Π΅Π»ΠΎ Π² ΡΠ»ΡΠΏΠ΅!
(ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π΄ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² API β Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ΠΉ ΡΡΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅)
3. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
ΠΡΠΈΡΠΈΠ½Ρ ΡΠ°Π·Π½ΡΠ΅:
- ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ
- ΠΠ»Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π³Π° (ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π³Π΄Π΅? ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅?)
- ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π±Π΅Π· Π΄ΠΎΠΊΡΡΡΠΎΠΊ ΡΡΠΎΠ½ΡΠ°
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ Π΄Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ, ΡΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ Π²ΡΠ·ΠΎΠ² API ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅. ΠΠ΄ΠΈΠ½ ΡΠ°Π· ΡΠΎΡ ΡΠ°Π½ΠΈΠ» β Π½Π° Π»ΡΠ±ΠΎΠΉ Π±Π°Π·Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡ, ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ ΠΎΠ½Π° ΠΏΠΎ 10 ΡΠ°Π· Π² Π΄Π΅Π½Ρ ΡΠΈΡΡΠΈΡΡΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ½ΠΎΠ²Π° ΠΈΠ΄Π΅ΠΌ Π² Users. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΉΠΌΡ ΠΏΠΎΠ»Π΅ΠΉ!
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠΈΠΏΠ° Form Filler. ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ? Π Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅?
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π²ΡΡΡΠ½ΡΡ β Π³ΡΡΡΡΠ½ΠΎ ΠΈ ΡΠ½ΡΠ»ΠΎ! Π ΡΠΆ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ ΠΈΠ»ΠΈ Π΄Π΅Π½Ρ Π½Π° ΡΠΈΡΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ β Π²ΠΎΠΎΠ±ΡΠ΅ ΠΊΠΎΡΠΌΠ°Ρ. ΠΡΠΎ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠΈΠ½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
Π Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρβ¦ Postman. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· REST-Π·Π°ΠΏΡΠΎΡ CreateUser. ΠΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΎΠΏΠΈΡΠ°Π»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ βΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠΈΠ΅β Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ. ΠΡΠΎΡΠΈΡ!
ΠΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ (1 ΠΌΠΈΠ½ΡΡΠ° Π±Π΅Π·Π΄ΡΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Β«Π»ΠΏΡΡΠ»ΠΏΠΊΒ») ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«SendΒ». ΠΡΠΈ ΡΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π΅Π΅.
Π Π΅ΡΠ΅ Π² ΠΏΠΎΡΡΠΌΠ°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, Π½Π°ΠΏΠΈΡ Π°ΡΡ ΡΡΠ΄Π° Π΄Π΅ΡΡΡΠΎΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π²ΠΎΡ ΡΠΆΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΉ Π±Π°Π·Π΅ Π·Π° ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ , ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠ½ΡΡ Π²Π±ΠΈΠ²Π°Π»ΠΈ Π±Ρ ΡΠ°ΡΠ°ΠΌΠΈ!
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ Π±Π°Π³ ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, Π½Π° ΠΊΠΎΠ³ΠΎ Π΅Π³ΠΎ Π²Π΅ΡΠ°ΡΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° front-end ΠΈΠ»ΠΈ back-end, ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅. ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Π±Π΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π Π΅ΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ Π³ΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΌΠ°Π½.
4. ΠΠ²ΡΠΎΡΠ΅ΡΡΡ Π΄Π΅ΡΠ³Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΡΡΡ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ:
- GUI-ΡΠ΅ΡΡΡ β ΡΠ΅ΡΡΠ½ΡΠΉ ΡΠ΅ΡΡ, Β«ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π» Π±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΒ».
- API-ΡΠ΅ΡΡΡ β ΠΎΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π½ΠΈΠΆΠ΅, Π²ΡΠΊΠΈΠ΄ΡΠ²Π°Ρ Π»ΠΈΡΠ½Π΅Π΅.
- Unit-ΡΠ΅ΡΡΡ β ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
Π‘Π»ΠΎΠ²ΠΎ API ΠΊΠ°ΠΊ Π±Ρ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΡΠ΅ΡΡΠ°Ρ γ
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ:
- ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΡΡΠ΅ΡΠ°;
- Π½Π° Π²Ρ ΠΎΠ΄Π΅: Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΎΠΊ ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡ;
- Π½Π° Π²ΡΡ ΠΎΠ΄Π΅: ΠΎΡΡΠ΅Ρ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠΎ Π½Π΅ΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ
ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ°:
- Π―ΡΠ΅ΠΉΠΊΠ° 1: Π₯ β Y
- Π―ΡΠ΅ΠΉΠΊΠ° 2: Z * 6
- …
GUI-ΡΠ΅ΡΡΡ β ΡΠ΅ΡΡΠ½ΡΠΉ ΡΠ΅ΡΡ, ΡΠΎΠ±ΠΎΡ Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π» Π±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΊΡΡΠ²Π°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅Ρ, ΡΡΠΊΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈβ¦ ΠΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠΏΠ°Π΄Π΅Ρ, Π±ΡΠ΄Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ.
API-ΡΠ΅ΡΡΡ β Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΎΡΠ²Π΅Ρ Π² ΡΠΊΡΠ΅Π»ΡΠΊΡ, ΠΈ ΠΏΡΡΡΡ ΡΠΎΠ±ΠΎΡ Π²ΡΠ²Π΅ΡΡΠ΅Ρ Π΅Π΅, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅? ΠΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅.
Unit-ΡΠ΅ΡΡΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΡΡΠ΅Ρ Π΄Π»Ρ ΡΡΠ΅ΠΉΠΊΠΈ 1, ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ β Π΄Π»Ρ ΡΡΠ΅ΠΉΠΊΠΈ 2, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ ΡΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π³ΠΎΠ½ΡΡΡΡΡ ΠΈ Π±Π°Π³ΠΈ ΠΏΠΎ Π½ΠΈΠΌ Π»Π΅Π³ΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² API
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ GUI, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ API. ΠΡΠΎΡΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ, Π΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΡΡΠ΅Ρ, Π΅ΠΌΡ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΌ magic Π²Π½ΡΡΡΠΈ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° Β«Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΡΡΠ΅ΡΒ», Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ).
ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ API. Π ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΡ, ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ°.
Π ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ° ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ 10 ΡΠ°Π·Π½ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΅ΡΠ»ΠΈ Π΅ΠΉ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
Π Π²ΠΎΡ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΎΡΡΠ΅Ρ. ΠΠ½ Π²ΡΠ·Π²Π°Π» ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ API, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ!
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π§ΠΠ ΠΠ API. Β«Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ APIΒ» β ΠΎΠ±ΡΠ΅ΡΠΏΠΎΡΡΠ΅Π±ΠΈΠΌΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½, ΡΠ°ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, Π½ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠΌΠΈΠ½ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½. ΠΡ Π½Π΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ API, ΠΌΡ Π½Π΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ). ΠΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠΎ ΡΡΠΎ ΡΡΡΠΎΡΠ²ΡΠ΅Π΅ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ βΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ APIβ. Π ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎ ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρ:
- Π°Π²ΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ API
- ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ β ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Remote API, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ΅ΡΠΈ, ΠΏΠΎ Π½Π΅ΠΊΠΎΠ΅ΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ (HTTP, JMS ΠΈ Ρ. Π΄.). Π ΠΏΡΠΎΡΠΈΠ²ΠΎΠ²Π΅Ρ Π΅ΠΌΡ Π΅ΡΡΡ Π΅ΡΠ΅ Local API (ΠΎΠ½ ΠΆΠ΅ Β«Shared memory APIΒ») β ΡΡΠΎ ΡΠΎ API, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΠ° Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Remote API. ΠΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΠΊ-ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ°ΡΡΡΡ.
Π Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ Β«ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ APIΒ», ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΌΠ΅Π½ΠΈΠ΅ Π²ΡΠ·Π²Π°ΡΡ SOAP ΠΈΠ»ΠΈ REST ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. Π₯ΠΎΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΎΠΈΡ ΡΡΠΎΡΠ½ΠΈΡΡ!
API (Application programming interface)
β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Β«ΠΠΎ ΠΌΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·ΡΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΈ ΡΡΠΎΒ».
ΠΠΎΠ½ΡΡΠ°ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- ΡΠ°ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ (ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅).
Β».
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API / Habr
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π‘Π»ΠΎΠ²ΠΎ Β«APIΒ» ΠΌΠ΅Π»ΡΠΊΠ°Π΅Ρ Π² Π²Π°ΠΊΠ°Π½ΡΠΈΡΡ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ². Π’ΠΎ REST API, ΡΠΎ SOAP API, ΡΠΎ ΠΏΡΠΎΡΡΠΎ API. Π§ΡΠΎ ΠΆΠ΅ ΡΡΠΎ Π·Π° Π·Π²Π΅ΡΡ ΡΠ°ΠΊΠΎΠΉ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ!
β Π Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ ΠΌΠ½Π΅? Π― Π²ΠΎΠΎΠ±ΡΠ΅-ΡΠΎ web ΡΠ΅ΡΡΠΈΡΡΡ! ΠΠΎΡ Π΅ΡΠ»ΠΈ ΠΏΠΎΠΉΠ΄Ρ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ, ΡΠΎΠ³Π΄Π° Π΄Π°β¦ ΠΡ, Π΅ΡΠ΅ ΡΡΠΎ Π² enterprise ΡΠ΅ΡΡΠΈΡΡΡΡ, Ρ ΡΠ»ΡΡΠ°Π»β¦
Π Π²ΠΎΡ ΠΈ Π½Π΅Ρ! ΠΡΠΎ API ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ Π»ΡΠ±ΠΎΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΡ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎ Π½Π΅ΠΌΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ Π΄Π°ΠΆΠ΅ Π½Π° ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΠΈ Π·Π°Ρ ΡΠ΄Π°Π»ΡΡ ΡΠ°ΠΉΡΠ°Ρ .
ΠΡΠ±Π°Ρ ΠΎΠΏΠ»Π°ΡΠ° ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· API ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΏΠΈΠ» Π±ΠΈΠ»Π΅Ρ Π² ΠΊΠΈΠ½ΠΎ? ΠΠ°Π΅ΡΠΊΡ Π² ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅? ΠΠ½ΠΈΠΆΠΊΡ? ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΆΠΌΠ΅ΡΡ Β«ΠΎΠΏΠ»Π°ΡΠΈΡΡΒ», ΡΠ°ΠΉΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ΅Π±Ρ Ρ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Ρ Π²Π°Ρ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π΅ΡΡΡ API! ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ ΡΠΎΠΆΠ΅ ΠΎΠ±ΡΠ°Π΅ΡΡΡ ΠΏΠΎ api. Π ΠΏΠΎΠΊΠ° ΡΡΠΎΠ½Ρ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΈΠ»Π΅Π½Π½ΠΎ ΠΏΠΈΠ»ΠΈΡ GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΡΠΊΡΡΠ°ΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ;
- ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ API
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ Π·Π° Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ! Π’Π°ΠΊ ΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ API. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° youtube, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π»ΡΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°ΡΡΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API
API (Application programming interface) β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Β«ΠΠΎ ΠΌΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·ΡΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΈ ΡΡΠΎΒ».
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΡΡΡΠΊΠΈΠΉ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΎΠ²ΠΎ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΒ». ΠΠΎΠ³ΠΎΠ²ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΠΌΠ°ΡΠΈΠ½Ρ:
- ΠΌΠΎΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ β Π²Π½Π΅ΡΡΠΈ ΡΠ°ΠΊΡΡ ΡΠΎ ΡΡΠΌΠΌΡ,
- ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° β Π΄Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ.
ΠΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°. ΠΠΎ Π½ΠΈΠΊΡΠΎ ΡΠ°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ Β―\_(γ)_/Β―
ΠΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΒ». Π’Π°ΠΊ ΠΏΡΠΈΠ½ΡΡΠΎ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
- Code first β ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΌΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ
- Contract first β ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ (Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΠΈΠ»Π΅)
ΠΡ ΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Β«ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΡ ΠΌΠ°ΡΠΈΠ½ΡΒ»? ΠΠΎΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ Π³ΠΎΠ²ΠΎΡΡΡ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΒ». ΠΠ΅Π³Π»Π°ΡΠ½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.
API β Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΊΡΠΏΠ°Π΅ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, Π²Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π²ΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ Π²Π°Ρ ΠΏΡΠ½ΠΊΡΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ. ΠΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΊ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, API ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ βΠΠ°ΠΊ ΠΊΠΎ ΠΌΠ½Π΅, ΠΊ ΠΌΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ?β, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- ΡΠ°ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ (ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅).
Π’ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ½Π΅ ΡΠΊΠ°Π·Π°ΡΡ:
β Π₯ΠΌΠΌ, ΠΏΠΎΠ³ΠΎΠ΄ΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ, Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π΅, Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ β ΠΊΠ°ΠΊ-ΡΠΎ Π²ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ!
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΡΡΠ°Π»ΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π΅, Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅, ΠΈ Π½Π΅ΠΊΠ°Ρ ΠΌΠ°Π³ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ Π² Π΄ΡΡΠ³ΠΎΠ΅.
Π Π΄Π°! ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠ°Π²Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠΈ. ΠΠΎΡΠ΅ΠΌΡ? ΠΠ° ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ API β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ°ΠΊ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ° Π±Π΅Π· ΡΠ°Π·Π½ΠΈΡΡ ΠΊΠ°ΠΊ. ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π°Ρ ΠΎΡΠ΅Ρ, ΡΠ°ΠΊ ΠΈ ΡΠ³ΡΡΠΏΠΏΠΈΡΡΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ API ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ. Π’ΠΎ Π΅ΡΡΡ:
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ API Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ;
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ API Π΄Π»Ρ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΠΈ β ΠΎΡΡΠ΅Ρ 1, ΠΎΡΡΠ΅Ρ 2, ΠΎΡΡΠ΅Ρ 3β¦ ΠΎΡΡΠ΅Ρ N. ΠΠ»Ρ ΡΠ°Π·Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² Ρ Π½Π°Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ = ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π²ΡΠ΅ ΠΌΡ ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π² ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ, api Π΄Π»Ρ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΠΈ.
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ API ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΊ β Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π±Π°Π½ΠΊΠΎΠΌ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ.
- …
ΠΠΎΠΆΠ½ΠΎ Π½Π΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅, Π° Π΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ API.
ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ API, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Β«ΠΏΠΎΠ΄ Π·Π°ΠΊΠ°Π·Β». ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΠΎ Π² Π½Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π Π»ΡΠ±ΡΠ΅ Ρ ΠΎΡΠ΅Π»ΠΊΠΈ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² Π²ΡΠ½ΠΎΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ API, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΌ Π±ΡΠ΄ΡΡ
Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ, Π² ΡΠ°Π·Π½ΡΠ΅ Π°ΠΏΠΈ. ΠΠΈΠΊΡΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ API. ΠΠΈΠ±ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅, Π»ΠΈΠ±ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ, ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π°ΠΏΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΎΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.
ΠΡΠΈ ΡΠ΅ΠΌ ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ»
β ΠΠΈΠ½ΡΡΠΎΡΠΊΡ, ΠΠ»Ρ! Π’Ρ ΠΆΠ΅ ΡΠ°ΠΌΠ° Π²ΡΡΠ΅ ΠΏΠΈΡΠ°Π»Π°, ΡΡΠΎ API β ΡΡΠΎ Application programming interface. ΠΠΎΡΠ΅ΠΌΡ ΡΡ ΡΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ΅, Ρ ΠΎΡΡ ΡΠ°ΠΌ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ?
ΠΠ° ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΠΠ (ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) Π΅ΡΡΡ 3 ΠΊΠΈΡΠ°:
- ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ
- ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΠ°ΠΆΠ°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΡ β ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΡΠ΅Ρ. Π ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ·Π½ΡΡΡΠΈ β Π΅ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ. ΠΠ°ΠΊΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ? Oracle? MySQL? ΠΠ° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°? ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄? ΠΠ΅ ΡΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈΠΌ ΠΎΠ½ ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ SOAP, REST ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ API. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ:
- ΡΡΠΎ ΠΏΠΎΠ΄Π°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄;
- ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅;
- ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ GUI β graphical user interface. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API β Application programming interface. ΠΠΌ Π½Π΅ Π½ΡΠΆΠ½Π° Π³ΡΠ°ΡΠΈΠΊΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ.
ΠΡΠ·Π²Π°ΡΡ Π°ΠΏΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ°ΠΏΡΡΠΌΡΡ:
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
- ΠΠ²ΡΠΎΡΠ΅ΡΡΡ Π΄Π΅ΡΠ³Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΡΠ²Π΅Π½Π½ΠΎ:
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ GUI
ΠΡΠ·ΠΎΠ² API Π½Π°ΠΏΡΡΠΌΡΡ
1. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ
Π Π°Π·Π½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΡΠΎ Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ API!
ΠΡΠΎ ΡΠ°ΠΌΡΠΉ Β«ΠΏΡΠΎΡΡΠΎΠΉΒ» Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π°Π²ΡΠΎΡ API, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π ΠΎΠ½ ΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ! Π Π·Π½Π°ΡΠΈΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π½Π΅Ρ =)
Π¨ΡΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π°. ΠΡΠΎΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅. Π ΠΎΠ½ΠΈ, ΡΠ²Ρ, ΡΠΎΠΆΠ΅ Π±ΡΠ²Π°ΡΡ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ. ΠΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°Π·Π½ΡΠ΅, ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½, Π½ΠΎ ΡΠΆΠ΅ Π·Π°Π±ΡΠ», ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π» ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ api ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡβ¦
2. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Π Π²ΠΎΡ ΡΡΠΎ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΊΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠ°Ρ . ΠΠ»ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΡΠΆΠΎΠΉ.
ΠΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π΅ΡΠ³Π°Π΅Ρ ΡΠ΅ΡΠ΅Π· api ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ ΡΠ΅ΡΠΈΠ»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈΠ· ΠΠ°Π΄Π°ΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΡΠΈΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π»Π΅Π³ΠΊΠΎ Π²Π²Π΅Π» Π°Π΄ΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ.
Π― ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎ API. Π ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅, ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈΠ· ΠΠ°Π΄Π°ΡΡ. ΠΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ:
- ΠΠ½ Π²Π²ΠΎΠ΄ΠΈΡ Π±ΡΠΊΠ²Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅
- ΠΠΎΠΉ ΡΠ°ΠΉΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ Π² ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΠ°Π΄Π°ΡΡ ΠΏΠΎ API
- ΠΠ°Π΄Π°ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ
- ΠΠΎΠΉ ΡΠ°ΠΉΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠΎΠ½ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ! Π ΡΠ°ΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½ΠΎ ΠΎΠ½ΠΎ Π΅ΡΡΡ.
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎ ΠΊΠ΅ΠΉΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ API-ΠΌΠ΅ΡΠΎΠ΄. ΠΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· SOAP ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ, Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΅Π³ΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ. Π§ΡΠΎ ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊ Π·Π°ΠΊΠ°Π·Π°Π», ΡΠΎ ΠΌΡ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Β―\_(γ)_/Β―
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Users. ΠΠ΅ΡΠΎΠ΄ MagicSearch ΡΠΎΠ·Π΄Π°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. Π₯ΠΎΡΡ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠ·Π½Π°ΡΡ, Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅ΡΠ΅ Π·Π°ΠΌΡΠ΄ΡΠ΅Π½Π΅Π΅ Π±ΡΠ»Π°, Ρ ΡΠΎ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΡ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π»Π°.
ΠΠΎ ΡΡΡ ΡΠΈΡΠΊΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠ°ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°. ΠΡ, ΠΌΠΎΠΆΠ΅Ρ, ΠΏΠ°ΡΠΎΡΠΊΠ° ΡΠΈΠ»ΡΡΡΠΎΠ². Π Π²ΠΎΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½ΡΠΆΠ½Π° Π±ΡΠ»Π° ΡΠ΅Π»Π°Ρ ΠΊΡΡΠ° Π΄ΠΎΠΏ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΡΠΎ ΠΈ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π· SOAP-ΠΌΠ΅ΡΠΎΠ΄.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΡΠΏΠ΅Ρ-ΠΏΠΎΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ API, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΡΡΠΏΠ°Π΅Ρ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π²Π°Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π΅ΡΡΡ Π’Π, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ API-ΠΌΠ΅ΡΠΎΠ΄. ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° β ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ. Π’ΠΈΠΏΠΈΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΠ΅ΡΡΠ°ΠΌ Π½Π° ΡΠ΅ΡΡ-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API, ΠΈ Π΄Π΅Π»ΠΎ Π² ΡΠ»ΡΠΏΠ΅!
(ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π΄ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² API β Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ΠΉ ΡΡΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅)
3. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
ΠΡΠΈΡΠΈΠ½Ρ ΡΠ°Π·Π½ΡΠ΅:
- ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ
- ΠΠ»Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π³Π° (ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π³Π΄Π΅? ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅?)
- ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π±Π΅Π· Π΄ΠΎΠΊΡΡΡΠΎΠΊ ΡΡΠΎΠ½ΡΠ°
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ Π΄Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ, ΡΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ Π²ΡΠ·ΠΎΠ² API ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅. ΠΠ΄ΠΈΠ½ ΡΠ°Π· ΡΠΎΡ ΡΠ°Π½ΠΈΠ» β Π½Π° Π»ΡΠ±ΠΎΠΉ Π±Π°Π·Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡ, ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ ΠΎΠ½Π° ΠΏΠΎ 10 ΡΠ°Π· Π² Π΄Π΅Π½Ρ ΡΠΈΡΡΠΈΡΡΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ½ΠΎΠ²Π° ΠΈΠ΄Π΅ΠΌ Π² Users. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΉΠΌΡ ΠΏΠΎΠ»Π΅ΠΉ!
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠΈΠΏΠ° Form Filler. ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ? Π Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅?
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π²ΡΡΡΠ½ΡΡ β Π³ΡΡΡΡΠ½ΠΎ ΠΈ ΡΠ½ΡΠ»ΠΎ! Π ΡΠΆ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ ΠΈΠ»ΠΈ Π΄Π΅Π½Ρ Π½Π° ΡΠΈΡΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ β Π²ΠΎΠΎΠ±ΡΠ΅ ΠΊΠΎΡΠΌΠ°Ρ. ΠΡΠΎ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠΈΠ½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
Π Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρβ¦ Postman. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· REST-Π·Π°ΠΏΡΠΎΡ CreateUser. ΠΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΎΠΏΠΈΡΠ°Π»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ βΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠΈΠ΅β Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ. ΠΡΠΎΡΠΈΡ!
ΠΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ (1 ΠΌΠΈΠ½ΡΡΠ° Π±Π΅Π·Π΄ΡΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Β«Π»ΠΏΡΡΠ»ΠΏΠΊΒ») ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«SendΒ». ΠΡΠΈ ΡΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π΅Π΅.
Π Π΅ΡΠ΅ Π² ΠΏΠΎΡΡΠΌΠ°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, Π½Π°ΠΏΠΈΡ Π°ΡΡ ΡΡΠ΄Π° Π΄Π΅ΡΡΡΠΎΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π²ΠΎΡ ΡΠΆΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΉ Π±Π°Π·Π΅ Π·Π° ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ , ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠ½ΡΡ Π²Π±ΠΈΠ²Π°Π»ΠΈ Π±Ρ ΡΠ°ΡΠ°ΠΌΠΈ!
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ Π±Π°Π³ ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, Π½Π° ΠΊΠΎΠ³ΠΎ Π΅Π³ΠΎ Π²Π΅ΡΠ°ΡΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° front-end ΠΈΠ»ΠΈ back-end, ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅. ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Π±Π΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π Π΅ΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ Π³ΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΌΠ°Π½.
4. ΠΠ²ΡΠΎΡΠ΅ΡΡΡ Π΄Π΅ΡΠ³Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΡΡΡ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ:
- GUI-ΡΠ΅ΡΡΡ β ΡΠ΅ΡΡΠ½ΡΠΉ ΡΠ΅ΡΡ, Β«ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π» Π±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΒ».
- API-ΡΠ΅ΡΡΡ β ΠΎΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π½ΠΈΠΆΠ΅, Π²ΡΠΊΠΈΠ΄ΡΠ²Π°Ρ Π»ΠΈΡΠ½Π΅Π΅.
- Unit-ΡΠ΅ΡΡΡ β ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
Π‘Π»ΠΎΠ²ΠΎ API ΠΊΠ°ΠΊ Π±Ρ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΡΠ΅ΡΡΠ°Ρ γ
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ:
- ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΡΡΠ΅ΡΠ°;
- Π½Π° Π²Ρ ΠΎΠ΄Π΅: Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΎΠΊ ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡ;
- Π½Π° Π²ΡΡ ΠΎΠ΄Π΅: ΠΎΡΡΠ΅Ρ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠΎ Π½Π΅ΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ
ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ°:
- Π―ΡΠ΅ΠΉΠΊΠ° 1: Π₯ β Y
- Π―ΡΠ΅ΠΉΠΊΠ° 2: Z * 6
- …
GUI-ΡΠ΅ΡΡΡ β ΡΠ΅ΡΡΠ½ΡΠΉ ΡΠ΅ΡΡ, ΡΠΎΠ±ΠΎΡ Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π» Π±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΊΡΡΠ²Π°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅Ρ, ΡΡΠΊΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈβ¦ ΠΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠΏΠ°Π΄Π΅Ρ, Π±ΡΠ΄Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ.
API-ΡΠ΅ΡΡΡ β Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΎΡΠ²Π΅Ρ Π² ΡΠΊΡΠ΅Π»ΡΠΊΡ, ΠΈ ΠΏΡΡΡΡ ΡΠΎΠ±ΠΎΡ Π²ΡΠ²Π΅ΡΡΠ΅Ρ Π΅Π΅, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅? ΠΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅.
Unit-ΡΠ΅ΡΡΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΡΡΠ΅Ρ Π΄Π»Ρ ΡΡΠ΅ΠΉΠΊΠΈ 1, ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ β Π΄Π»Ρ ΡΡΠ΅ΠΉΠΊΠΈ 2, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ ΡΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π³ΠΎΠ½ΡΡΡΡΡ ΠΈ Π±Π°Π³ΠΈ ΠΏΠΎ Π½ΠΈΠΌ Π»Π΅Π³ΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² API
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ GUI, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ API. ΠΡΠΎΡΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ, Π΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΡΡΠ΅Ρ, Π΅ΠΌΡ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΌ magic Π²Π½ΡΡΡΠΈ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° Β«Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΡΡΠ΅ΡΒ», Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ).
ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ API. Π ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΡ, ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ°.
Π ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ° ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ 10 ΡΠ°Π·Π½ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΅ΡΠ»ΠΈ Π΅ΠΉ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
Π Π²ΠΎΡ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΎΡΡΠ΅Ρ. ΠΠ½ Π²ΡΠ·Π²Π°Π» ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ API, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ!
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π§ΠΠ ΠΠ API. Β«Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ APIΒ» β ΠΎΠ±ΡΠ΅ΡΠΏΠΎΡΡΠ΅Π±ΠΈΠΌΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½, ΡΠ°ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, Π½ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠΌΠΈΠ½ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½. ΠΡ Π½Π΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ API, ΠΌΡ Π½Π΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ). ΠΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠΎ ΡΡΠΎ ΡΡΡΠΎΡΠ²ΡΠ΅Π΅ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ βΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ APIβ. Π ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎ ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρ:
- Π°Π²ΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ API
- ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ β ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Remote API, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ΅ΡΠΈ, ΠΏΠΎ Π½Π΅ΠΊΠΎΠ΅ΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ (HTTP, JMS ΠΈ Ρ. Π΄.). Π ΠΏΡΠΎΡΠΈΠ²ΠΎΠ²Π΅Ρ Π΅ΠΌΡ Π΅ΡΡΡ Π΅ΡΠ΅ Local API (ΠΎΠ½ ΠΆΠ΅ Β«Shared memory APIΒ») β ΡΡΠΎ ΡΠΎ API, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΠ° Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Remote API. ΠΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΠΊ-ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ°ΡΡΡΡ.
Π Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ Β«ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ APIΒ», ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΌΠ΅Π½ΠΈΠ΅ Π²ΡΠ·Π²Π°ΡΡ SOAP ΠΈΠ»ΠΈ REST ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. Π₯ΠΎΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΎΠΈΡ ΡΡΠΎΡΠ½ΠΈΡΡ!
API (Application programming interface) β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Β«ΠΠΎ ΠΌΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·ΡΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΈ ΡΡΠΎΒ».
ΠΠΎΠ½ΡΡΠ°ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- ΡΠ°ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄,
- Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ (ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅).
Β».
ΡΡΠΎ ΡΡΠΎ β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ API testing
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌ Google Trends, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (API). Π 2017 Π³ΠΎΠ΄Ρ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ SmartBear Software, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΡΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², ΠΏΡΠΎΠ²Π΅Π»Π° ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΉ ΠΎΠΏΡΠΎΡ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (API testing). ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΡΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄ΠΎ 80 %.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, ΡΡΠΎ API testing β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, Π½ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘Ρ Π΅ΠΌΠ° API testing
API Testing
Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΎΠ±Π·ΠΎΡ 9 ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ
) Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Postman
Postman
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΡ Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π»Ρ Chrome Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ Windows ΠΈ Mac. Postman ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
- ΡΠΈΡΠΎΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ;
- ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
- ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ REST;
- ΡΠΈΡΠΎΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ RAML ΠΈ Swagger;
- ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π΄Π»Ρ Windows, Linux, Mac ΠΈ Chrome;
- Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Document, Monitoring, Run ΠΈ Test;
- Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΌΠ°ΡΡΡΠ°Π±Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
- ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ ΠΎΡΠ²Π΅ΡΡ, ΡΠ°ΡΡΡΠ»Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π¦Π΅Π½Π°: ΠΎΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π΄ΠΎ 21$ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π² ΠΌΠ΅ΡΡΡ.
ΠΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ SoapUI
SoapUI
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π΄Π°ΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ SOAP, API REST ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SoapUI ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅:
- Π±ΡΡΡΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Groovy;
- Π±ΡΡΡΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Β«ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠΊΠ°Β» ΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ;
- ΠΌΠΎΡΠ½ΡΠΉ API testing Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Excel, ΠΠ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ·Π΅ΡΠ° ΠΈ API;
- ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²;
- ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΡ ΠΊΠ»ΠΈΠΊΠΎΠ².
Π¦Π΅Π½Π°: ΠΎΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π΄ΠΎ 659$ / Π³ΠΎΠ΄.
Tricentis Tosca — ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Tricentis Tosca
ΠΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ DevOps ΠΈ Agile. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ»ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ REST, IBM MQ, Rabbit MQ, TIBCO EMS, NET TCP, SOAP, AMQP ΠΈ HTTP(s) JMS;
- ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΈΠΊΠ»Ρ DevOps ΠΈ Agile;
- API testing ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ , Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ;
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ;
- ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΡΠΎΠ².
Π¦Π΅Π½Π°: ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ API testing ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Katalon Studio
Katalon Studio
ΠΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ API testing ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ UI-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈ ΡΠ»ΡΠΆΠ± API/Web. ΠΠ»Π°Π²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΡΠΎΠ²Π½Π΅ΠΉ Business (ΡΠ»ΡΠΆΠ±Ρ API/Web) ΠΈ UI. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Mac OS, Linux ΠΈ Windows.
Katalon Studio ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡΡ RESTful ΠΈ SOAP Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ (PUT, DELETE, GET, POST). ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ»Π°Π²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° API testing Π·Π°ΠΏΡΠΎΡΠΎΠ² RESTful ΠΈ SOAP;
- ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ;
- ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ API ΠΈ UI;
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ AssertJ;
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ;
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
- Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ .
Π¦Π΅Π½Π°: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Jmeter — ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Jmeter
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΎΡΡ Π΄Π»Ρ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΎΠ½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ CSV, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
- ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ;
- ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API testing Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²;
- ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Jenkins ΠΈ JMeter ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ CI.
Π¦Π΅Π½Π°: ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅.
Apigee: ΠΊΡΠΎΡΡ-ΠΎΠ±Π»Π°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ² API
Apigee
ΠΡΠΎ ΠΊΡΠΎΡΡ-ΠΎΠ±Π»Π°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ² API, Π΄Π°ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ API ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² (Swagger). Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Javascript.
ΠΠ»Π°Π²Π½ΡΠ΅ ΠΏΠ»ΡΡΡ:
- Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ API;
- Ρ ΠΏΠΎΠΌΠΎΡΡΡ Open API Specification Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΠΊΡ Π² Β«ΠΎΠ±Π»Π°ΠΊΠ΅Β»;
- ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΏΡΡΠ΅ΠΌ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π·Π° ΡΡΠ°ΡΠΈΠΊΠΎΠΌ, ΠΎΡΠ΅Π½ΠΊΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°;
- Π½Π° Π±Π°Π·Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΈ Β«ΠΎΠ±Π»Π°ΠΊΠ΅Β», ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Apigee ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ ΠΎΠ½Π»Π°ΠΉΠ½-Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ ΡΡΠ΅Ρ, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
. Π ΡΠΈΠ»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ.
Π¦Π΅Π½Π°: ΠΎΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π΄ΠΎ 2 500$ / ΠΌΠ΅ΡΡΡ.
Assertible — ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Assertible
ΠΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
- ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ API testing Π½Π° Π²ΡΠ΅Ρ ΡΡΠ°ΠΏΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΠ°Ρ ΠΈΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Slack, Zapier ΠΈ GitHub;
- Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² HTTP, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ.
Π¦Π΅Π½Π°: ΠΎΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π΄ΠΎ 500$ / ΠΌΠ΅ΡΡΡ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ REST ΠΎΡ Rest-Assured
Rest-Assured
ΠΡΠΎ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Java-ΡΠ·ΡΠΊ, Π΄Π΅Π»Π°ΡΡΠΈΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ REST Π±ΡΡΡΡΡΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΌ. ΠΠ³ΠΎ ΠΏΠ»ΡΡΡ:
- ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
- ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Serenity, ΡΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡ REST ΠΈ UI Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΠΏΠΎΠ»ΡΡΠ°Ρ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ;
- ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ BDD Given/When/Then;
- Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² HTTP.
Π¦Π΅Π½Π°: ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API — Karate DSL
Karate DSL
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠ΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ BDD-ΡΠ΅ΡΡΠΎΠ² Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΡΠ°ΠΏΠΎΠ². ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΡΠ°ΠΌΠΈΠΌ Karate DSL, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Π²Π΅ΡΡΠΈΠ½Π΅ Cucumber-JVM;
- ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Java;
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ;
- ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Π·Π½Π°Π½ΠΈΠΉ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java;
- ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
Π¦Π΅Π½Π°: ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΡ Π»ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ΅Ρ. ΠΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ API testing, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅. ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠ»Π°ΡΠ½ΡΡ
ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° Π½ΠΈΡ
ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ. ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΡΠ΅ΡΠ°ΡΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΠ΅ΠΉ.
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ API testing
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API
ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ API testing β ΡΡΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π½Π΄ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π·Π°Π΄Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ, ΠΈΠ³ΡΠ°Π΅Ρ Π½Π° ΡΡΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
Π·Π°Π΄Π°Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΠΏ. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Π½ΠΎΠ²ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎΠΈΡ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΠΈΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ API, ΠΈΠ»ΠΈ Postman Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ² | GeekBrains
ΠΠ·ΡΡΠ°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
https://d2xzmw6cctk25h. cloudfront.net/post/2120/og_image/c2397d8e936f16779909ec2b2438a6ab.png
ΠΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ³ΠΎΡΡ ΠΡΠΎΡΡ, Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² Test IT β ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡΒ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° β Postman β Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΡΠΈΠΏ Π·Π°Π΄Π°Ρ βΒ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API.
Π§ΡΠΎ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠ΅?
API β ΡΡΠΎ Application Programming Interface, ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ΄Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ. API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π΄ΡΡΠ³ΡΡ, ΠΌΠΈΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.Β
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠΈΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΡΠΎΡΠ°Π½Π΅, Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π±Π»ΡΠ΄ΠΎ Π² ΠΌΠ΅Π½Ρ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π½Ρ, ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π·Π°ΠΊΠ°Π·. ΠΡΠΈΡΠΈΠ°Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π°Ρ Π·Π°ΠΊΠ°Π· Π½Π° ΠΊΡΡ Π½Ρ, ΡΠ°ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ°Π³ΠΈΡ, ΠΈ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ Π±Π»ΡΠ΄ΠΎ. API ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ β ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Π°Ρ Π·Π°ΠΏΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ. Β
ΠΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ? API ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ, ΡΠ°ΡΡΠ½ΡΠΌ β ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ, ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ β Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΠΈΡ API Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ REST β ΡΡΠ°Π½Π΄Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°ΠΉΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ REST Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΎΠΊΠ΅Π½) ΠΈ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡ ΠΈ ΡΠ΄ΠΎΠ±Π΅Π½, ΡΡΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΡΠ΅ΡΠ½ΠΈΠ» Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ API?
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π·Π½Π°ΡΠΈΡ Π² Ρ ΠΎΠ΄Π΅ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Postman. ΠΠΎΡ ΡΡΠΎ ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ:
- Π‘ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ;
- Π‘ΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ;
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ;
- ΠΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊ Π²ΡΠ·ΠΎΠ²Ρ API ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ;
- Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ²;
- ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Collection Runner ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Postman, Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ API ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Test IT.
Π Π°Π±ΠΎΡΠ° Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Postman
Π£ Postman Π΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΡΠΎ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡ ΡΡΠ΄Π° Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΡΠΎΡ, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ New ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ Request. Β
ΠΠ°ΠΏΡΠΎΡΡ Postman Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°, Π½ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π³Π΄Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ: /api/v2/projectsΒ
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΡΠΌΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ GET-Π·Π°ΠΏΡΠΎΡΠ°:
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ Π²ΡΡΠ΅ ΠΏΡΠ½ΠΊΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
1. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΈΠΏ Π·Π°ΠΏΡΠΎΡΠ°. Postman ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ GET.
2. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ URL Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π³Π΄Π΅ ΡΠ°Π·Π²ΡΡΠ½ΡΡΠ° Π½Π°ΡΠ° TMC. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ API Test IT, Π° ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΠΏΠΈΡΠ°Π΅ΠΌΡΡ Π½Π° Swagger-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»Π½Π°Ρ ΡΡΡΠ»ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ: https://testit.geekbrains.ru/api/v2/projects.Β
3. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΈ API Test IT ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ. Π£ΠΊΠ°ΠΆΠ΅ΠΌ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ isDeleted=true.
4. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Authorization, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Postman ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ API Key, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΠΈΠ· Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° Π² Test IT.
ΠΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π·Π°ΠΏΡΠΎΡ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Send.
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΎΡΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ: ΠΊΠΎΠ΄ 200, ΡΠ΅Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ°, Π²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠ° ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠ°Π²Π΄Π°, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠΎΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π½Π°Ρ Π½Π΅Ρ. Π‘ΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π² ΠΊΠ»ΡΡ isDeleted ΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π°:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ . ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΡΠ΅Π½Π΄Π΅ ΠΈ Π½Π° ΠΏΡΠΎΠ΄Π΅. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Postman, ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ EnvironmentΒ
Π ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β URL ΡΡΠ΅Π½Π΄Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ, ΠΈ ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°Π·ΠΎΠ²ΡΠΌ Π½Π°ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Test Environment. Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ url ΠΈ token ΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΡΡΡΡ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Add. ΠΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Manage Environments (ΡΠ΅ΡΡΠ΅ΡΡΠ½ΠΊΠ° Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°).
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Test Environment Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ: Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ· Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈ Π²Π½ΠΎΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² Π·Π°ΠΏΡΠΎΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² Π΄Π²ΡΡ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ . Postman ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΎΡΠΈΠ±Π»ΠΈΡΡ.
ΠΠ°ΠΏΡΠΎΡ Π²Π½ΠΎΠ²Ρ ΠΏΡΠΎΡΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π·Π½Π°ΡΠΈΡ, Π²ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ URL ΠΈ token, ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅. ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π° Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ² Π² Postman
ΠΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π° ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ? ΠΡ Π½Π° ΠΏΠΎΡΠΎΠ³Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π² Postman.
Π£ΠΆΠ΅ Π² Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌ Π½Π°ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ Tests ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Π½Π΅Ρ.
ΠΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠΎΡΠΊΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° JavaScript. Postman ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ², ΠΏΠ°ΡΡΠΈΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΈ Ρ.Π΄. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² Postman ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠ΅ Π½Π° Π₯Π°Π±ΡΠ΅.
ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°: ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° 200. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ.
Postman Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠΎΠ΄ Π½Π° JS, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° ΡΠ°Π²Π΅Π½ 200.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ. Π ΡΠΏΠΈΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅, ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ isDeleted = false. ΠΠ°Π΄ΠΎ ΠΏΠ°ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ, Π² ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΡΠΎ isDeleted = true.
ΠΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ:
pm.test("All projects is deleted", function () { var jsonData = JSON.parse(responseBody); for (var i = 0; i < jsonData.length; i++) { pm.expect(jsonData[i].isDeleted).to.eql(false) } });
ΠΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π² ΠΊΠΎΠ΄Π΅ false, Π° Π½Π΅ true, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π½Π΅Ρ. ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ true, ΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π°Π»Π΅Π½. ΠΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° false β ΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΉΠ΄Π΅Π½. ΠΡΠΏΡΠ°Π²ΠΈΠΌ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ»ΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Test Results.
Π ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Π΄Π²Π° ΡΠ΅ΡΡΠ°. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ GET-Π·Π°ΠΏΡΠΎΡ, Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° 200 Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ. Π§ΡΠΎΠ±Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ, Π²Π½Π΅ΡΡΠΌ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.Β
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠΈΠ΄ΠΈΠΌ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ ΡΡΠ΄Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΡΡΠ°.
Π Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Tests ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° ΡΠ°Π²Π΅Π½ 200.
Π Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, Π° Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ Β«Inherit auth from parentΒ». Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ.
ΠΠ°ΠΏΡΠΎΡ ΠΏΡΠΎΡΡΠ»: Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π²ΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈ Ρ Π½Π°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ 2 ΡΠ΅ΡΡΠ°, Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΠΌΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ. ΠΡ Π²ΡΠ½Π΅ΡΠ»ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ΅ΡΡ Π½Π° ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° 200 Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ΅ΡΡΠ°ΠΌ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠΌΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. ΠΡΠ»ΠΈ Π²Ρ Π°Π²ΡΠΎΡΠΈΠ·ΡΠ΅ΡΠ΅ΡΡ Π² Postman, ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ Ρ ΡΠ°Π·Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ² Π² Postman
Π Postman Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Collection Runner, Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Run. Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π² Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π·Π΄Π΅ΡΡ ΡΡΠΎΠΈΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ cookies.
Π£ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Iterations ΡΠ°Π²Π½ΡΠΌ 10 ΠΈ ΠΏΡΠΎΠΉΠ΄ΡΠΌ Π½Π°ΡΠΈ ΡΠ΅ΡΡΡ.
ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ, ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Export Results Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ»ΠΈΡΡΠ°ΡΡ ΠΈΡ Π² ΠΊΡΠ°ΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Run Summary.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ°ΠΊ, ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Postman:
- Π‘ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΡ;
- ΠΠ°Π΄Π°Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ ;
- Π‘ΠΎΠ·Π΄Π°Π»ΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π»ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΠΌΠΈ;
- ΠΠ°ΠΏΠΈΡΠ°Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡ;
- Π‘ΠΎΠ·Π΄Π°Π»ΠΈ ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π»Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ;
- ΠΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ².
ΠΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°Π»Π°Ρ ΡΠ°ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Postman, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ API. ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΡΡ β ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ π
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Postman, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ βΒ ΠΏΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ Π²Π°Ρ Π½Π° ΡΠ°ΠΊΡΠ»ΡΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ GeekUniversity!Β
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API — Best practices for cloud applications
-
- Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 25Β ΠΌΠΈΠ½
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.Most modern web applications expose APIs that clients can use to interact with the application. ΠΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ API Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:A well-designed web API should aim to support:
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ .Platform independence . ΠΡΠ±ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ API, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ API ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Π½ΡΡΡΠ΅Π½Π½Π΅.Any client should be able to call the API, regardless of how the API is implemented internally. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π°.This requires using standard protocols, and having a mechanism whereby the client and the web service can agree on the format of the data to exchange.
Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ .Service evolution . ΠΠ΅Π±-API Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.The web API should be able to evolve and add functionality independently from client applications. ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ API ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.As the API evolves, existing client applications should continue to function without modification. ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.All functionality should be discoverable so that client applications can fully use it.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π΅Π±-API.This guidance describes issues that you should consider when designing a web API.
ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ RESTIntroduction to REST
Π 2000 Π³ΠΎΠ΄Ρ Π ΠΎΠΉ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π΅Π±-ΡΠ»ΡΠΆΠ± β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (REST).In 2000, Roy Fielding proposed Representational State Transfer (REST) as an architectural approach to designing web services. RESTΒ β ΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΠΈΠΏΠ΅ΡΡΡΠ΅Π΄.REST is an architectural style for building distributed systems based on hypermedia. ΠΠΎΠ΄Π΅Π»Ρ REST Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ HTTP.REST is independent of any underlying protocol and is not necessarily tied to HTTP. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ REST ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ HTTP Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ REST API Π΄Π»Ρ HTTP.However, most common REST implementations use HTTP as the application protocol, and this guide focuses on designing REST APIs for HTTP.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ REST Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ HTTP Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΡΠΊΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ API ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.A primary advantage of REST over HTTP is that it uses open standards, and does not bind the implementation of the API or the client applications to any specific implementation. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Ρ REST ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² ASP.NET, Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ HTTP-ΠΎΡΠ²Π΅ΡΡ.For example, a REST web service could be written in ASP.NET, and client applications can use any language or toolset that can generate HTTP requests and parse HTTP responses.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² RESTful API, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP:Here are some of the main design principles of RESTful APIs using HTTP:
REST API ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΡΡΠ° , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ»ΡΠΆΠ±Ρ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠ»ΠΈΠ΅Π½Ρ.REST APIs are designed around resources , which are any kind of object, data, or service that can be accessed by the client.
Π£ ΡΠ΅ΡΡΡΡΠ° Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ° (URI)), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΡΠ΅ΡΡΡΡ.A resource has an identifier , which is a URI that uniquely identifies that resource. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, URI Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ:For example, the URI for a particular customer order might be:
https://adventure-works.com/orders/1
ΠΠ»ΠΈΠ΅Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΠΏΡΡΠ΅ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ².Clients interact with a service by exchanging representations of resources. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Π±-API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ JSON Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π°.Many web APIs use JSON as the exchange format. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° GET ΠΊ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π²ΡΡΠ΅ URI ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡ ΠΎΡΠ²Π΅ΡΠ°:For example, a GET request to the URI listed above might return this response body:
{"orderId":1,"orderValue":99.90,"productId":1,"quantity":1}
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ REST API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ»ΡΠΆΠ±Ρ.REST APIs use a uniform interface, which helps to decouple the client and service implementations. ΠΠ»Ρ REST API, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP, Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ HTTP-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.For REST APIs built on HTTP, the uniform interface includes using standard HTTP verbs to perform operations on resources. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: GET, POST, PUT, PATCH ΠΈ DELETE.The most common operations are GET, POST, PUT, PATCH, and DELETE.
REST API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π±Π΅Π· ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.REST APIs use a stateless request model. HTTP-Π·Π°ΠΏΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ.HTTP requests should be independent and may occur in any order, so keeping transient state information between requests is not feasible. Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ , ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ.The only place where information is stored is in the resources themselves, and each request should be an atomic operation. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΠΎΠΊΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ.This constraint enables web services to be highly scalable, because there is no need to retain any affinity between clients and specific servers. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π·Π°ΠΏΡΠΎΡ ΠΎΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.Any server can handle any request from any client. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ.That said, other factors can limit scalability. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅, Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .For example, many web services write to a backend data store, which may be hard to scale out. For more information about strategies to scale out a data store, see Horizontal, vertical, and functional data partitioning.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ REST API ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π³ΠΈΠΏΠ΅ΡΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.REST APIs are driven by hypermedia links that are contained in the representation. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ JSON-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°.For example, the following shows a JSON representation of an order. ΠΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π·Π°ΠΊΠ°Π·ΠΎΠΌ.It contains links to get or update the customer associated with the order.
{ "orderID":3, "productID":2, "quantity":4, "orderValue":16.60, "links": [ {"rel":"product","href":"https://adventure-works.com/customers/3", "action":"GET" }, {"rel":"product","href":"https://adventure-works.com/customers/3", "action":"PUT" } ] }
Π 2008 Π³ΠΎΠ΄Ρ ΠΠ΅ΠΎΠ½Π°ΡΠ΄ Π ΠΈΡΠ°ΡΠ΄ΡΠΎΠ½ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π΅Π±-API:In 2008, Leonard Richardson proposed the following maturity model for web APIs:
- Π£ΡΠΎΠ²Π΅Π½Ρ 0. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ URI, ΠΈ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ POST-Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΊ ΡΡΠΎΠΌΡ URI.Level 0: Define one URI, and all operations are POST requests to this URI.
- Π£ΡΠΎΠ²Π΅Π½Ρ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ URI Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².Level 1: Create separate URIs for individual resources.
- Π£ΡΠΎΠ²Π΅Π½Ρ 2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² HTTP Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.Level 2: Use HTTP methods to define operations on resources.
- Π£ΡΠΎΠ²Π΅Π½Ρ 3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΈΠΏΠ΅ΡΡΡΠ΅Π΄ (HATEOAS, ΠΎΠΏΠΈΡΠ°Π½ Π½ΠΈΠΆΠ΅).Level 3: Use hypermedia (HATEOAS, described below).
Π£ΡΠΎΠ²Π΅Π½Ρ 3 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ RESTful API, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π€ΠΈΠ»Π΄ΠΈΠ½Π³Π°.Level 3 corresponds to a truly RESTful API according to Fielding’s definition. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅Π±-API Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π³Π΄Π΅-ΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ ΡΡΠΎΠ²Π½Ρ 2.In practice, many published web APIs fall somewhere around level 2.
Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ API Π²ΠΎΠΊΡΡΠ³ ΡΠ΅ΡΡΡΡΠΎΠ²Organize the API around resources
Π‘ΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΡΡΠ΅ΡΡ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΡΠ½ΠΎΡΡΡΡ , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π²Π΅Π±-API.Focus on the business entities that the web API exposes. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ Π·Π°ΠΊΠ°Π·Ρ.For example, in an e-commerce system, the primary entities might be customers and orders. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ HTTP-Π·Π°ΠΏΡΠΎΡΠ° POST, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΠΊΠ°Π·Π΅.Creating an order can be achieved by sending an HTTP POST request that contains the order information. HTTP-ΠΎΡΠ²Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π°.The HTTP response indicates whether the order was placed successfully or not. ΠΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ (ΡΠ΅ΡΡΡΡΠ΅), Π° Π½Π΅ Π½Π° Π³Π»Π°Π³ΠΎΠ»Π°Ρ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ c ΡΠ΅ΡΡΡΡΠΎΠΌ).When possible, resource URIs should be based on nouns (the resource) and not verbs (the operations on the resource).
https://adventure-works.com/orders // Good
https://adventure-works.com/create-order // Avoid
Π Π΅ΡΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ Π΄Π°Π½Π½ΡΡ .A resource doesn’t have to be based on a single physical data item. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΡΡΡ Π·Π°ΠΊΠ°Π·Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Π½ΡΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΈΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Π°Ρ ΡΡΡΠ½ΠΎΡΡΡ.For example, an order resource might be implemented internally as several tables in a relational database, but presented to the client as a single entity. ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .Avoid creating APIs that simply mirror the internal structure of a database. Π¦Π΅Π»Ρ REST β ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΡΡΠΈΡ ΡΡΡΠ½ΠΎΡΡΡΡ .The purpose of REST is to model entities and the operations that an application can perform on those entities. ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΊΡΡΡΠ° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.A client should not be exposed to the internal implementation.
Π‘ΡΡΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΎ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (Π·Π°ΠΊΠ°Π·ΠΎΠ², ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²).Entities are often grouped together into collections (orders, customers). ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ URI.A collection is a separate resource from the item within the collection, and should have its own URI. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ URI ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π·Π°ΠΊΠ°Π·ΠΎΠ²:For example, the following URI might represent the collection of orders:
https://adventure-works.com/orders
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ HTTP-Π·Π°ΠΏΡΠΎΡΠ° GET Π½Π° URI ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.Sending an HTTP GET request to the collection URI retrieves a list of items in the collection. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ° (URI).Each item in the collection also has its own unique URI. HTTP-Π·Π°ΠΏΡΠΎΡ GET ΠΊ URI ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅.An HTTP GET request to the item’s URI returns the details of that item.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ
ΠΊΠΎΠ΄Π°Ρ
ΡΠ΅ΡΡΡΡΠΎΠ².Adopt a consistent naming convention in URIs. Π ΡΠ΅Π»ΠΎΠΌ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ URI, ΡΡΡΠ»Π°ΡΡΠΈΡ
ΡΡ Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.In general, it helps to use plural nouns for URIs that reference collections. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ.It’s a good practice to organize URIs for collections and items into a hierarchy. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, /customers
β ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π° /customers/5
β ΠΏΡΡΡ ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ°Π²Π½ΡΠΌ 5.For example, /customers
is the path to the customers collection, and /customers/5
is the path to the customer with ID equal to 5. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΡΡ Π²Π΅Π±-API.This approach helps to keep the web API intuitive. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Π²Π΅Π±-API ΠΌΠΎΠ³ΡΡ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΡΡΠ΅ΠΉ URI, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΡΠΈ /customers/{id}
.Also, many web API frameworks can route requests based on parameterized URI paths, so you could define a route for the path /customers/{id}
.
Π’Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΈΡ
ΡΠ²ΡΠ·Π΅ΠΉ.Also consider the relationships between different types of resources and how you might expose these associations. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, /customers/5/orders
ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 5.For example, the /customers/5/orders
might represent all of the orders for customer 5. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΉΡΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΊΠ°Π·ΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ /orders/99/customer
.You could also go in the other direction, and represent the association from an order back to a customer with a URI such as /orders/99/customer
. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ.However, extending this model too far can become cumbersome to implement. ΠΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ HTTP-ΠΎΡΠ²Π΅ΡΠ°.A better solution is to provide navigable links to associated resources in the body of the HTTP response message. ΠΡΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ HATEOAS Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΊ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ.This mechanism is described in more detail in the section Use HATEOAS to enable navigation to related resources.
Π Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ URI, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΡΠ²ΡΠ·Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ /customers/1/orders/99/products
.In more complex systems, it can be tempting to provide URIs that enable a client to navigate through several levels of relationships, such as /customers/1/orders/99/products
. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΠ΄Π½ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.However, this level of complexity can be difficult to maintain and is inflexible if the relationships between resources change in the future. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ URI ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌΠΈ.Instead, try to keep URIs relatively simple. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡ, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ.Once an application has a reference to a resource, it should be possible to use this reference to find items related to that resource. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° URI /customers/1/orders
, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1, Π° Π·Π°ΡΠ΅ΠΌ β Π½Π° /orders/99/products
, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π² ΡΡΠΎΠΌ Π·Π°ΠΊΠ°Π·Π΅.The preceding query can be replaced with the URI /customers/1/orders
to find all the orders for customer 1, and then /orders/99/products
to find the products in this order.
Π‘ΠΎΠ²Π΅Ρ
Π‘ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ collection/item/collection .Avoid requiring resource URIs more complex than collection/item/collection .
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ,Another factor is that all web requests impose a load on the web server. ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠ΅Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΡΠ»ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ².The more requests, the bigger the load. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-API Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².Therefore, try to avoid «chatty» web APIs that expose a large number of small resources. Π’Π°ΠΊΠΎΠΉ API ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ .Such an API may require a client application to send multiple requests to find all of the data that it requires. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.Instead, you might want to denormalize the data and combine related information into bigger resources that can be retrieved with a single request. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ΅ Π² ΡΡΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.However, you need to balance this approach against the overhead of fetching data that the client doesn’t need. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ.Retrieving large objects can increase the latency of a request and incur additional bandwidth costs. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΈΡ Π°Π½ΡΠΈΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΠ½ΡΠΈΡΠ°Π±Π»ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΠ½ΡΠΈΡΠ°Π±Π»ΠΎΠ½ Π»ΠΈΡΠ½Π΅ΠΉ Π²ΡΠ±ΠΎΡΠΊΠΈ.For more information about these performance antipatterns, see Chatty I/O and Extraneous Fetching.
ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅Π±-API ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .Avoid introducing dependencies between the web API and the underlying data sources. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π²Π΅Π±-API Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ².For example, if your data is stored in a relational database, the web API doesn’t need to expose each table as a collection of resources. ΠΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.In fact, that’s probably a poor design. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ Π²Π΅Π±-API Π² Π²ΠΈΠ΄Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .Instead, think of the web API as an abstraction of the database. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ Π²Π΅Π±-API.If necessary, introduce a mapping layer between the database and the web API. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .That way, client applications are isolated from changes to the underlying database scheme.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅Π±-API, Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.Finally, it might not be possible to map every operation implemented by a web API to a specific resource. Π’Π°ΠΊΠΈΠ΅ Π±Π΅Π·ΡΠ΅ΡΡΡΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ HTTP-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.You can handle such non-resource scenarios through HTTP requests that invoke a function and return the results as an HTTP response message. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅Π±-API, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°ΡΡΠ΅ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ² (URI), ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ΅ΡΡΡΡΠΎΠ², ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².For example, a web API that implements simple calculator operations such as add and subtract could provide URIs that expose these operations as pseudo resources and use the query string to specify the parameters required. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΠΎΡ GET ΠΊ URI /Add? ΠΎΠΏΠ΅ΡΠ°Π½Π΄1 = 99&ΠΎΠΏΠ΅ΡΠ°Π½Π΄2 = 1 Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100.For example, a GET request to the URI /add?operand1=99&operand2=1 would return a response message with the body containing the value 100. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠΎΡΠΌΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ² (URI) Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ.However, only use these forms of URIs sparingly.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² HTTPDefine operations in terms of HTTP methods
ΠΡΠΎΡΠΎΠΊΠΎΠ» HTTP ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π°Π·Π½Π°ΡΠ°ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.The HTTP protocol defines a number of methods that assign semantic meaning to a request. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ HTTP, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ Π²Π΅Π±-API RESTful:The common HTTP methods used by most RESTful web APIs are:
- GET . ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠ° (URI).GET retrieves a representation of the resource at the specified URI. Π’Π΅ΠΊΡΡ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΡΠ΅ΡΡΡΡΠ΅.The body of the response message contains the details of the requested resource.
- POST. Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ URI.POST creates a new resource at the specified URI. Π’Π΅ΠΊΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΡΡΡΡΠ΅.The body of the request message provides the details of the new resource. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ POST ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².Note that POST can also be used to trigger operations that don’t actually create resources.
- PUT . Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ URI.PUT either creates or replaces the resource at the specified URI. Π ΡΠ΅ΠΊΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΠΊΠ°Π·Π°Π½ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΡΡΡ.The body of the request message specifies the resource to be created or updated.
- PATCH . ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°.PATCH performs a partial update of a resource. Π’Π΅ΠΊΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ.The request body specifies the set of changes to apply to the resource.
- DELETE. Π£Π΄Π°Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ URI.DELETE removes the resource at the specified URI.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ.The effect of a specific request should depend on whether the resource is a collection or an individual item. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ RESTFUL Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠΈΠΈ.The following table summarizes the common conventions adopted by most RESTful implementations using the e-commerce example. ΠΠ΅ Π²ΡΠ΅ ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ β , ΠΎΠ½ΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ.Not all of these requests might be implementedβit depends on the specific scenario.
Π Π΅ΡΡΡΡResource | POSTPOST | GETGET | ΠΠ’ΠΠ ΠΠΠΠPUT | DELETEDELETE |
---|---|---|---|---|
/customers/customers | Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Create a new customer | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²Retrieve all customers | ΠΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²Bulk update of customers | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²Remove all customers |
/customers/1/customers/1 | ΠΡΠΈΠ±ΠΊΠ°Error | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Retrieve the details for customer 1 | ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ 1, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅ΡUpdate the details of customer 1 if it exists | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Remove customer 1 |
/customers/1/orders/customers/1/orders | Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π° Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Create a new order for customer 1 | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Retrieve all orders for customer 1 | ΠΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Bulk update of orders for customer 1 | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Remove all orders for customer 1 |
Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ POST, PUT ΠΈ PATCH ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠ°ΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ².The differences between POST, PUT, and PATCH can be confusing.
ΠΠ°ΠΏΡΠΎΡ POST ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΡΡΡΡ.A POST request creates a resource. Π‘Π΅ΡΠ²Π΅Ρ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ URI Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎΡ URI ΠΊΠ»ΠΈΠ΅Π½ΡΡ.The server assigns a URI for the new resource, and returns that URI to the client. Π ΠΌΠΎΠ΄Π΅Π»ΠΈ REST Π·Π°ΠΏΡΠΎΡΡ POST ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌ.In the REST model, you frequently apply POST requests to collections. ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.The new resource is added to the collection. ΠΠ°ΠΏΡΠΎΡ POST ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ΅ΡΡΡΡ Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°.A POST request can also be used to submit data for processing to an existing resource, without any new resource being created.
ΠΠ°ΠΏΡΠΎΡ PUT ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΡΡΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ΅ΡΡΡΡ.A PUT request creates a resource or updates an existing resource. ΠΠ»ΠΈΠ΅Π½Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ°.The client specifies the URI for the resource. Π’Π΅ΠΊΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°.The request body contains a complete representation of the resource. ΠΡΠ»ΠΈ ΡΠ΅ΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ URI ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.If a resource with this URI already exists, it is replaced. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΎ.Otherwise a new resource is created, if the server supports doing so. ΠΠ°ΠΏΡΠΎΡΡ PUT ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π° Π½Π΅ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌ.PUT requests are most frequently applied to resources that are individual items, such as a specific customer, rather than collections. Π‘Π΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· PUT.A server might support updates but not creation via PUT. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· PUT Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΉ URI ΡΠ΅ΡΡΡΡΡ Π΄ΠΎ Π΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ.Whether to support creation via PUT depends on whether the client can meaningfully assign a URI to a resource before it exists. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ POST Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π° PUT ΠΈΠ»ΠΈ PATCH Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.If not, then use POST to create resources and PUT or PATCH to update.
ΠΠ°ΠΏΡΠΎΡ PATCH Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ ΡΠ΅ΡΡΡΡΠ°.A PATCH request performs a partial update to an existing resource. ΠΠ»ΠΈΠ΅Π½Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ°.The client specifies the URI for the resource. Π’Π΅ΠΊΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ , ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ.The request body specifies a set of changes to apply to the resource. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ PUT, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°.This can be more efficient than using PUT, because the client only sends the changes, not the entire representation of the resource. Π‘ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ PATCH ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ (ΡΠΊΠ°Π·Π°Π² Π½Π°Π±ΠΎΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΡΡΠ° «null»), Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.Technically PATCH can also create a new resource (by specifying a set of updates to a «null» resource), if the server supports this.
ΠΠ°ΠΏΡΠΎΡΡ PUT Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠΌΠΈ.PUT requests must be idempotent. ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ PUT Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ (ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ).If a client submits the same PUT request multiple times, the results should always be the same (the same resource will be modified with the same values). ΠΠ°ΠΏΡΠΎΡΡ POST ΠΈ PATCH Π½Π΅ Π±ΡΠ΄ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠΌΠΈ.POST and PATCH requests are not guaranteed to be idempotent.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ HTTPConform to HTTP semantics
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ HTTP.This section describes some typical considerations for designing an API that conforms to the HTTP specification. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ.However, it doesn’t cover every possible detail or scenario. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠΌΠ½Π΅Π²Π°Π΅ΡΠ΅ΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌ HTTP.When in doubt, consult the HTTP specifications.
Π’ΠΈΠΏΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°Media types
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ².As mentioned earlier, clients and servers exchange representations of resources. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅ΠΊΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° POST ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°.For example, in a POST request, the request body contains a representation of the resource to create. Π ΡΠ΅ΠΊΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° GET ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°.In a GET request, the response body contains a representation of the fetched resource.
Π ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ HTTP ΡΠΎΡΠΌΠ°ΡΡ Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° , ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ MIME.In the HTTP protocol, formats are specified through the use of media types , also called MIME types. ΠΠ»Ρ Π½Π΅Π΄Π²ΠΎΠΈΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅Π±-API ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ JSON (ΡΠΈΠΏ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° β application/json) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ XML (ΡΠΈΠΏ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° β application/xml).For non-binary data, most web APIs support JSON (media type = application/json) and possibly XML (media type = application/xml).
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Type Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.The Content-Type header in a request or response specifies the format of the representation. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° POST, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π΄Π°Π½Π½ΡΠ΅ JSON:Here is an example of a POST request that includes JSON data:
POST https://adventure-works.com/orders HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 57
{"Id":1,"Name":"Gizmo","Category":"Widgets","Price":1.99}
ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 415 (Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ Π½ΠΎΡΠΈΡΠ΅Π»Ρ).If the server doesn’t support the media type, it should return HTTP status code 415 (Unsupported Media Type).
ΠΠ°ΠΏΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Accept, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΎΡΠ²Π΅ΡΠ½ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ.A client request can include an Accept header that contains a list of media types the client will accept from the server in the response message. ΠΡΠΈΠΌΠ΅Ρ:For example:
GET https://adventure-works.com/orders/2 HTTP/1.1
Accept: application/json
ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 406 (Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ).If the server cannot match any of the media type(s) listed, it should return HTTP status code 406 (Not Acceptable).
ΠΠ΅ΡΠΎΠ΄Ρ GETGET methods
Π£ΡΠΏΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° GET ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 200 (ΠΠ).A successful GET method typically returns HTTP status code 200 (OK). ΠΡΠ»ΠΈ ΡΠ΅ΡΡΡΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ 404 (Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ).If the resource cannot be found, the method should return 404 (Not Found).
ΠΠ΅ΡΠΎΠ΄Ρ POSTPOST methods
ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ POST ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 201 (ΡΠΎΠ·Π΄Π°Π½ΠΎ).If a POST method creates a new resource, it returns HTTP status code 201 (Created). URI Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Location ΠΎΡΠ²Π΅ΡΠ°.The URI of the new resource is included in the Location header of the response. Π’Π΅ΠΊΡΡ ΠΎΡΠ²Π΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°.The response body contains a representation of the resource.
ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ, Π½ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 200 ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°.If the method does some processing but does not create a new resource, the method can return HTTP status code 200 and include the result of the operation in the response body. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 204 (Π½Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ) Π±Π΅Π· ΡΠ΅ΠΊΡΡΠ° ΠΎΡΠ²Π΅ΡΠ°.Alternatively, if there is no result to return, the method can return HTTP status code 204 (No Content) with no response body.
ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡ, ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 400 (Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ).If the client puts invalid data into the request, the server should return HTTP status code 400 (Bad Request). Π’Π΅ΠΊΡΡ ΠΎΡΠ²Π΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ° (URI), ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.The response body can contain additional information about the error or a link to a URI that provides more details.
ΠΠ΅ΡΠΎΠ΄Ρ PUTPUT methods
ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ PUT ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 201 (ΡΠΎΠ·Π΄Π°Π½ΠΎ), ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ POST.If a PUT method creates a new resource, it returns HTTP status code 201 (Created), as with a POST method. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ΅ΡΡΡΡ, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 200 (ΠΠ) ΠΈΠ»ΠΈ 204 (Π½Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ).If the method updates an existing resource, it returns either 200 (OK) or 204 (No Content). Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ΅ΡΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.In some cases, it might not be possible to update an existing resource. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠΎΠ΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 409 (ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ).In that case, consider returning HTTP status code 409 (Conflict).
Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΎΠ²ΡΡ HTTP-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ PUT, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.Consider implementing bulk HTTP PUT operations that can batch updates to multiple resources in a collection. Π Π·Π°ΠΏΡΠΎΡΠ΅ PUT Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ° (URI) ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π° ΡΠ΅ΠΊΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅ΡΡΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.The PUT request should specify the URI of the collection, and the request body should specify the details of the resources to be modified. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.This approach can help to reduce chattiness and improve performance.
ΠΠ΅ΡΠΎΠ΄Ρ PATCHPATCH methods
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° PATCH ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π² ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ΅ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ .With a PATCH request, the client sends a set of updates to an existing resource, in the form of a patch document . Π‘Π΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.The server processes the patch document to perform the update. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²Π΅ΡΡ ΡΠ΅ΡΡΡΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.The patch document doesn’t describe the whole resource, only a set of changes to apply. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° PATCH (RFC 5789) Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.The specification for the PATCH method (RFC 5789) doesn’t define a particular format for patch documents. Π€ΠΎΡΠΌΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΏΠ° ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° Π² Π·Π°ΠΏΡΠΎΡΠ΅.The format must be inferred from the media type in the request.
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²Π΅Π±-API β JSON.JSON is probably the most common data format for web APIs. ΠΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ JSON, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ JSON ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ JSON .There are two main JSON-based patch formats, called JSON patch and JSON merge patch .
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ JSON Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅.JSON merge patch is somewhat simpler. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΡΡΠΎ ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΡΡΡΡ JSON, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ.The patch document has the same structure as the original JSON resource, but includes just the subset of fields that should be changed or added. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ, ΡΠΊΠ°Π·Π°Π² null
Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.In addition, a field can be deleted by specifying null
for the field value in the patch document. (ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ null.)(That means merge patch is not suitable if the original resource can have explicit null values.)
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ JSON:For example, suppose the original resource has the following JSON representation:
{
"name":"gizmo",
"category":"widgets",
"color":"blue",
"price":10
}
ΠΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ JSON Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°:Here is a possible JSON merge patch for this resource:
{
"price":12,
"color":null,
"size":"small"
}
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ, price
ΡΠ΄Π°Π»ΡΡΡΡΡ color
ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ size
, ΠΏΠΎΠΊΠ° name
ΠΈ category
Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.This tells the server to update price
, delete color
, and add size
, while name
and category
are not modified. Π’ΠΎΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ JSON ΡΠΌ. Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ RFC 7396.For the exact details of JSON merge patch, see RFC 7396. Π’ΠΈΠΏ Π½ΠΎΡΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ JSON β application/merge-patch+json
.The media type for JSON merge patch is application/merge-patch+json
.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ null, ΠΈΠ·-Π·Π° ΡΠΌΡΡΠ»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ null
Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.Merge patch is not suitable if the original resource can contain explicit null values, due to the special meaning of null
in the patch document. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.Also, the patch document doesn’t specify the order that the server should apply the updates. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.That may or may not matter, depending on the data and the domain. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ JSON, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² RFC 6902, β Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠ΅.JSON patch, defined in RFC 6902, is more flexible. ΠΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ,It specifies the changes as a sequence of operations to apply. Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, Π·Π°ΠΌΠ΅Π½Π°, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ).Operations include add, remove, replace, copy, and test (to validate values). Π’ΠΈΠΏ Π½ΠΎΡΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ JSON β application/json-patch+json
.The media type for JSON patch is application/json-patch+json
.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° PATCH, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP.Here are some typical error conditions that might be encountered when processing a PATCH request, along with the appropriate HTTP status code.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈError condition | ΠΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTPHTTP status code |
---|---|
Π€ΠΎΡΠΌΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.The patch document format isn’t supported. | 415 (Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ Π½ΠΎΡΠΈΡΠ΅Π»Ρ)415 (Unsupported Media Type) |
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.Malformed patch document. | 400 (Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π·Π°ΠΏΡΠΎΡ)400 (Bad Request) |
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ Π² Π΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.The patch document is valid, but the changes can’t be applied to the resource in its current state. | 409 (ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ)409 (Conflict) |
ΠΠ΅ΡΠΎΠ΄Ρ DELETEDELETE methods
ΠΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΎΡΠ²Π΅Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 204, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΌ Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°.If the delete operation is successful, the web server should respond with HTTP status code 204, indicating that the process has been successfully handled, but that the response body contains no further information. ΠΡΠ»ΠΈ ΡΠ΅ΡΡΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ HTTP 404 (Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ).If the resource doesn’t exist, the web server can return HTTP 404 (Not Found).
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈAsynchronous operations
ΠΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ POST, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.Sometimes a POST, PUT, PATCH, or DELETE operation might require processing that takes a while to complete. ΠΡΠ»ΠΈ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠ΅.If you wait for completion before sending a response to the client, it may cause unacceptable latency. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.If so, consider making the operation asynchronous. ΠΠ΅ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 202, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» ΠΏΡΠΈΠ½ΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ, Π½ΠΎ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½.Return HTTP status code 202 (Accepted) to indicate the request was accepted for processing but is not completed.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠ³ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.You should expose an endpoint that returns the status of an asynchronous request, so the client can monitor the status by polling the status endpoint. ΠΠΊΠ»ΡΡΠΈΡΠ΅ URI ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Location ΠΎΡΠ²Π΅ΡΠ° 202.Include the URI of the status endpoint in the Location header of the 202 response. ΠΡΠΈΠΌΠ΅Ρ:For example:
HTTP/1.1 202 Accepted
Location: /api/status/12345
ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ GET ΠΊ ΡΡΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅, ΠΎΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°.If the client sends a GET request to this endpoint, the response should contain the current status of the request. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.Optionally, it could also include an estimated time to completion or a link to cancel the operation.
HTTP/1.1 200 OK
Content-Type: application/json
{
"status":"In progress",
"link": { "rel":"cancel", "method":"delete", "href":"/api/status/12345" }
}
ΠΡΠ»ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 303 (ΡΠΌ. Π΄ΡΡΠ³ΠΈΠ΅) ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.If the asynchronous operation creates a new resource, the status endpoint should return status code 303 (See Other) after the operation completes. Π ΠΎΡΠ²Π΅ΡΠ΅ 303 Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Location, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ URI Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°:In the 303 response, include a Location header that gives the URI of the new resource:
HTTP/1.1 303 See Other
Location: /api/orders/12345
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°Π±Π»ΠΎΠ½ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Request-Reply.For more information, see Asynchronous Request-Reply pattern.
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡFilter and paginate data
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΎΠ΄ΠΈΠ½ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ° (URI) ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.Exposing a collection of resources through a single URI can lead to applications fetching large amounts of data when only a subset of the information is required. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ Ρ ΡΡΠΌΠΌΠΎΠΉ Π²ΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.For example, suppose a client application needs to find all orders with a cost over a specific value. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ ΡΠ΅ΡΠ΅Π· ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΡΡΠ° (URI) /orders , Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π·Π°ΠΊΠ°Π·Ρ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.It might retrieve all orders from the /orders URI and then filter these orders on the client side. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½.Clearly this process is highly inefficient. ΠΠ½ Π²ΠΏΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ΅ΡΠΈ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π²Π΅Π±-API.It wastes network bandwidth and processing power on the server hosting the web API.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ API ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΈΠ»ΡΡΡΠ° Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° URI, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ /orders?minCost=n .Instead, the API can allow passing a filter in the query string of the URI, such as /orders?minCost=n . ΠΠ΅Π±-API ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° minCost
Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.The web API is then responsible for parsing and handling the minCost
parameter in the query string and returning the filtered results on the server side.
ΠΠ°ΠΏΡΠΎΡΡ GET ΠΏΠΎ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².GET requests over collection resources can potentially return a large number of items. ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅Π±-API ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π²Π΅ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΠΎΠ΄Π½ΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ.You should design a web API to limit the amount of data returned by any single request. Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ Π·Π°ΠΏΡΠΎΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.Consider supporting query strings that specify the maximum number of items to retrieve and a starting offset into the collection. ΠΡΠΈΠΌΠ΅Ρ:For example:
/orders?limit=25&offset=50
Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π° Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π°ΡΠ°ΠΊΠΈ ΡΠΈΠΏΠ° «ΠΎΡΠΊΠ°Π· Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ».Also consider imposing an upper limit on the number of items returned, to help prevent Denial of Service attacks. ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡΡ GET, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΡΠ°Π·Π±ΠΈΡΡΠ΅ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π΄Π°Π½Π½ΡΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.To assist client applications, GET requests that return paginated data should also include some form of metadata that indicate the total number of resources available in the collection.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ /orders?sort=ProductID .You can use a similar strategy to sort data as it is fetched, by providing a sort parameter that takes a field name as the value, such as /orders?sort=ProductID . ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΠΎΡΡΠ°Π·ΠΈΡΡΡΡ Π½Π° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ (ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ΅ΡΡΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΊΡΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ° ΠΊ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ).However, this approach can have a negative effect on caching, because query string parameters form part of the resource identifier used by many cache implementations as the key to cached data.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ .You can extend this approach to limit the fields returned for each item, if each item contains a large amount of data. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ /orders?fields=ProductID,Quantity .For example, you could use a query string parameter that accepts a comma-delimited list of fields, such as /orders?fields=ProductID,Quantity .
ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Π² ΡΡΡΠΎΠΊΠ°Ρ
Π·Π°ΠΏΡΠΎΡΠ°.Give all optional parameters in query strings meaningful defaults. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ limit
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 10, Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ offset
Β β 0, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΠΉΡΠ΅ ΠΊΠ»ΡΡ ΡΠ΅ΡΡΡΡΠ°, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΠ΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΠ΅, Π° Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ fields
ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ Π² ΡΠ΅ΡΡΡΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΉ.For example, set the limit
parameter to 10 and the offset
parameter to 0 if you implement pagination, set the sort parameter to the key of the resource if you implement ordering, and set the fields
parameter to all fields in the resource if you support projections.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ½ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²Support partial responses for large binary resources
Π Π΅ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.A resource may contain large binary fields, such as files or images. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌΠΈ ΠΈ ΠΏΡΠ΅ΡΡΠ²ΠΈΡΡΡΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ½ΠΎ.To overcome problems caused by unreliable and intermittent connections and to improve response times, consider enabling such resources to be retrieved in chunks. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π΅Π±-API Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Accept-Ranges Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² GET ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ.To do this, the web API should support the Accept-Ranges header for GET requests for large resources. ΠΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ GET ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ.This header indicates that the GET operation supports partial requests. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ GET, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠ°, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π±Π°ΠΉΡΠΎΠ².The client application can submit GET requests that return a subset of a resource, specified as a range of bytes.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² HEAD Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².Also, consider implementing HTTP HEAD requests for these resources. ΠΠ°ΠΏΡΠΎΡ HEAD Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Π·Π°ΠΏΡΠΎΡΡ GET Ρ ΡΠ΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ HTTP, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅ΡΡΡΡ, ΠΈ ΠΏΡΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.A HEAD request is similar to a GET request, except that it only returns the HTTP headers that describe the resource, with an empty message body. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ HEAD, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² GET.A client application can issue a HEAD request to determine whether to fetch a resource by using partial GET requests. ΠΡΠΈΠΌΠ΅Ρ:For example:
HEAD https://adventure-works.com/products/10?fields=productImage HTTP/1.1
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°:Here is an example response message:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: image/jpeg
Content-Length: 4580
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Length ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΡΡΡΠ°, Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Accept-Ranges ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ GET ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.The Content-Length header gives the total size of the resource, and the Accept-Ranges header indicates that the corresponding GET operation supports partial results. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.The client application can use this information to retrieve the image in smaller chunks. ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ 2500Β Π±Π°ΠΉΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° «Range»:The first request fetches the first 2500 bytes by using the Range header:
GET https://adventure-works.com/products/10?fields=productImage HTTP/1.1
Range: bytes=0-2499
ΠΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HTTP 206.The response message indicates that this is a partial response by returning HTTP status code 206. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ «Content-Length» ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π±Π°ΠΉΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (Π½Π΅ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΡΡΡΠ°), Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ «Content-Range» ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΠΎ ΡΠ°ΡΡΡ ΡΠ΅ΡΡΡΡΠ° (Π±Π°ΠΉΡΡ 0β2499 ΠΈΠ· 4580):The Content-Length header specifies the actual number of bytes returned in the message body (not the size of the resource), and the Content-Range header indicates which part of the resource this is (bytes 0-2499 out of 4580):
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Type: image/jpeg
Content-Length: 2500
Content-Range: bytes 0-2499/4580
[...]
ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ°Π²ΡΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ΅ΡΡΡΡΠ°.A subsequent request from the client application can retrieve the remainder of the resource.
ΠΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ RESTΒ β ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Π½ΡΡΡΠΈ Π²ΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠ΅ΡΡΡΡΠΎΠ² Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°Π½ΠΈΡ ΡΡ Π΅ΠΌΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ² (URI).One of the primary motivations behind REST is that it should be possible to navigate the entire set of resources without requiring prior knowledge of the URI scheme. ΠΠ°ΠΆΠ΄ΡΠΉ HTTP-Π·Π°ΠΏΡΠΎΡ GET Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π³ΠΈΠΏΠ΅ΡΡΡΡΠ»ΠΎΠΊ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΠΎΡΠ²Π΅Ρ. ΠΠ°ΠΏΡΠΎΡΡ GET ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².Each HTTP GET request should return the information necessary to find the resources related directly to the requested object through hyperlinks included in the response, and it should also be provided with information that describes the operations available on each of these resources. ΠΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ HATEOAS (Π³ΠΈΠΏΠ΅ΡΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ).This principle is known as HATEOAS, or Hypertext as the Engine of Application State. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°Ρ. ΠΡΠ²Π΅Ρ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΡΠΎ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API ΡΠ°ΠΉΡΠ° Π±Π΅Π· Π·Π½Π°Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π΄Π»Ρ SEO-ΡΠ½ΠΈΠΊΠΎΠ²
ΠΠ°ΡΡΠ½Π΅ΡΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΡΠ΄Π΅Π»Π° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½Ρ-ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π° Serpstat
Π‘ΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΄ΡΠΎ Π² Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΡ. ΠΠ°ΡΡΠΈΡΡ Π²Π΅ΡΡ Π’ΠΠ Π²ΡΠ΄Π°ΡΠΈ ΠΏΠΎ ΡΡΠ°Π·Π΅ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π§ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ? ΠΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π½Π°ΡΡΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API SEO-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΡΡΡΡΡ API
ΠΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡ Ρ ΡΠΎΡΠ½Π΅ΠΉ ΡΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΌΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ β SEO-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π±ΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API Π»ΠΈΠ±ΠΎ Π½Π΅ Π²ΠΈΠ΄ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΡΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²Π° ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Ρ ΠΈ ΠΊΡΡΠΏΠ½ΡΠΉ Π±ΠΈΠ·Π½Π΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ API. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠΌΡ β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²ΡΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½ΡΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ, Π½ΠΎ Π½Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΠΎΡΠ½ΠΈΠΊΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ.
ΠΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Serpstat Π²ΠΌΠ΅ΡΡΠΎ Π²Π°Ρ. ΠΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π΄Π°Π½Ρ Π΅ΡΠ΅ ΠΏΡΡΡ Π΄ΡΡΠ³ΠΈΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΠ»ΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ API
- Π£ΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π² 10 ΡΠ°Π·. ΠΠ°ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π΄Π΅ΡΠ΅Π²ΡΠΉ ΠΏΠ»Π°Π½ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ API ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³Π° 1 Π·Π°ΠΏΡΠΎΡ/ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ²/ΡΠ΅ΠΊΡΠ½Π΄Π°. Π‘ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠΎΠ»ΡΠΊΠΎ Π²Π²Π΅ΡΡΠΈ ΡΡΠΊΠ°ΠΌΠΈ? Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π½Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΠΎ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ API.
- ΠΠΎΠ»ΡΡΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ². ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° API-Π»ΠΈΠΌΠΈΡΠΎΠ² Π²ΡΠ΅Π³Π΄Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π·Π° ΡΠ΅ ΠΆΠ΅ Π΄Π΅Π½ΡΠ³ΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ»ΡΡ Ρ Π²Π°Ρ ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΡΡΠΎΠ½ΡΡΡΠΌΠΈ Π»ΠΈΠΌΠΈΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
- ΠΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΡΠ΅ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ API, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠ΅ΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π²Π°ΡΠΈΡ Π·Π°Π΄Π°Ρ.
- ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π΄Π΅Π½ΡΠ³ΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ API, Π²Ρ ΠΏΠ»Π°ΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π° Π½Π΅ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.
ΠΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ API Serpstat
ΠΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ 16 ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Serpstat.
- Advertising report β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΡΠ°Π·Π΅.
- Competitors report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΡΠ°Π·Π΅.
- Domain history report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ°Π· ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρ.
- Domain info report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΠ°ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²/Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅/ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΡΠΎΡΠΎΠ²/Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ, ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½Π°).
- Domain Keywords report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° Π² Π’ΠΠΠ΅ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρ.
- Domain Intersection report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° Π΄Π»Ρ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².
- Domain unique keywords report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° Π΄ΠΎΠΌΠ΅Π½Π° Π±Π΅Π· ΡΡΠ΅ΡΠ° ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² Π²ΡΠΎΡΠΎΠ³ΠΎ (ΡΡΠ΅ΡΡΠ΅Π³ΠΎ) Π΄ΠΎΠΌΠ΅Π½Π°.
- Domain urls report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ URL-Ρ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² Π΄Π»Ρ URL-Π°.
- Keyword info report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π·Π° ΠΊΠ»ΠΈΠΊ, ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ, ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ).
- Keywords report β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π·Π° ΠΊΠ»ΠΈΠΊ, ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ).
- Keyword top report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π’ΠΠ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΡΠ°Π·Π΅.
- Related keywords report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
- Suggestions report β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΌ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌ.
- URL competitors report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ URL ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ URL.
- URL keywords report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠ°Π·Ρ Π² Π’ΠΠΠ΅ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ URL.
- URL missing keywords report β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠ°Π·Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π½ΠΆΠΈΡΡΡΡΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΡ, Π½ΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ URL.
ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠΏΠΈΡ Ρ ΡΠ΅Π±Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Configure ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° Π½Π΅Π΅. ΠΠ°ΡΠ΅ΠΌ Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ»ΡΡ APIΒ».
ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠ²ΡΠΆΠΈΡΠ΅ Π΅Π³ΠΎ Ρ Π²Π°ΡΠΈΠΌ Gmail-Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ.
- ΠΡΡΠ°Π²ΡΡΠ΅ Π²Π°Ρ API-ΡΠΎΠΊΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Serpstat.
ΠΡΠ»ΠΈ API-ΠΊΠ»ΡΡ Π΄Π»Ρ Π²Π°Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ (Π΅ΡΡΡ Ρ Β«ΠΠ»Π°Π½ ΠΒ» ΠΈ Π²ΡΡΠ΅), ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ Π·Π° ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΊ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅,Β Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠΎΡΠΌΡΒ Π·Π°ΡΠ²ΠΊΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΡΡ Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Serpstat ΡΠ΅ΡΠ΅Π· online-ΡΠ°Ρ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ Serpstat. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ°ΡΠ΅ Β«ΠΠ»ΡΡ APIΒ». Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΡΠ²ΡΠΆΠ΅ΡΡΡ Ρ Π²Π°ΠΌΠΈ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ.
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ API ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Serpstat.Β
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ
, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½. Π‘ΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ½Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΠΎΡΡΠ΅ΡΠ΅ Π΄ΠΎ 1000 ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ Π²ΡΠ³ΡΡΠΆΠ°Π΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΎΡΡΠ΅Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ Π΄ΠΎ 10 ΡΠ΅ΠΊΡΠ½Π΄, Π½Π΅ Π·Π°Ρ ΠΎΠ΄Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API, Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠ°.
ΠΠΎΠ»ΡΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ API Serpstat
ΠΡΠΎΠΌΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π² Serpstat Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΌΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΈ Π²ΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ. ΠΠ°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈ Π²ΡΠ³ΡΡΠΆΠ°ΡΡ ΠΎΡΡΠ΅ΡΡ.
ΠΠΎΠΈΡΠΊ ΡΠΎΡΡΠΌΠΎΠ² Π΄Π»Ρ Π»ΠΈΠ½ΠΊΠ±ΠΈΠ»Π΄ΠΈΠ½Π³Π°
Π‘ΠΊΡΠΈΠΏΡ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈ Π·Π°ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π’ΠΠ 100 Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ . Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΠ»ΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΠΎΡΡΠΌΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ ΡΡΠ°Π·Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π½ΠΆΠΈΡΡΠ΅ΡΡΡ ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΡΠ°Π·Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ Π»ΠΈΠ½ΠΊΠ±ΠΈΠ»Π΄Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠΎΡΡΠΌΡ ΡΡΠΊΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² intitle, inurl ΠΈ Ρ.Π΄.
ΠΠ½Π»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° + ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ Π½Π° PHP.
ΠΠΎΠΈΡΠΊ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±Π»ΠΎΠ³ΠΎΠ²
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΈΡΠ΅Ρ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ-Π±Π»ΠΎΠ³ΠΈ, ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌ ΡΡΡΠ»ΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ. Π‘ΠΊΡΠΈΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² ΠΏΠΎΠΌΠΎΡΡ Π°ΡΡΡΠΈΡΠ΅ΡΠ°ΠΌ, Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅Π½Ρ-ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ»ΠΎΠ³Π°ΠΌ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ½Π»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° + ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ Π½Π° PHP.
Π‘Π±ΠΎΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ· URL ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ²
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ. ΠΠ°ΡΡΠΎΠ²ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ URL-Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠ°Π·Ρ.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ Π°Π²ΡΠΎΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π» Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠΎΠΈΡΠΊ Π΄ΡΠΎΠΏΠΎΠ² ΠΏΠΎ WHOIS
ΠΠ°Π΄Π°ΡΠ° ΡΠΊΡΠΈΠΏΡΠ° β Π΄ΠΎΡΡΠ°ΡΡ Π΄ΠΎΠΌΠ΅Π½Ρ ΠΈΠ· Π½ΠΈΡΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π»ΠΈ Π΄ΠΎΠΌΠ΅Π½, Π΅ΡΠ»ΠΈ Π΄Π° β ΡΠΎ Π΄Π°ΡΡ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΌΠ΅Π½Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° phpWhois.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ½Π»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° + ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ Π½Π° PHP.
ΠΠΎΠΈΡΠΊ Π½Π΅ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΠ»Π°ΠΌΡ
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅Π²ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΡΠ΅ΠΊΠ»Π°ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠΎΠ². Π ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²ΡΠ΄Π°ΡΠ΅ ΠΏΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ ΡΡΠ°Π·.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ API domain_keywords ΠΈ ad_keywords, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄Π²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π·Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π²ΡΠ΄Π°ΡΠ΅. ΠΠΌΠ΅Ρ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅, Π²Ρ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠΈΠ½ΡΡΡ Π²ΡΡΠ²ΠΈΡΠ΅ ΡΠΏΠΎΡΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ½Π»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° + ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ Π½Π° PHP.
ΠΠ°ΠΊ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ API?
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ArtJocker ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ API Serpstat Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ KPI SEO-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠ»ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² Ρ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ°ΡΠΈΠΊΠ°.
- ΠΠ°Π»Π΅Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°ΡΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ.
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΅ΡΠ΅ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Ρ.Π΅. ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
- ΠΠ±ΠΈΠ²Π°Π΅ΠΌ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΡ, ΠΌΠ°ΡΠΏΠΎΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡΡ.
Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ!
API Serpstat ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ², ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ, ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΉ ΡΠΎΡΡ ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° 6 ΠΌΠ΅ΡΡΡΠ΅Π².
ΠΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠΎΠΌ KPI ΠΎΡ ArtJocker Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΉ ΠΏΠΎ ΡΠ°ΠΉΡΡ. Π‘ΠΎ ΡΠ»ΠΎΠ² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΡΠ΄Π΅Π»Π° ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π°, ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² 5β10%.
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ
Π Π°Π±ΠΎΡΠ°ΡΡ Ρ API Π»Π΅Π³ΠΊΠΎ ΠΈ Π΄Π΅ΡΠ΅Π²ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ². Π Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API Π² ΠΎΠ½Π»Π°ΠΉΠ½-Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ Serpstat.
Π£ΡΠΏΠ΅Ρ ΠΎΠ²!
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ
— ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Win32
- 2 ΠΌΠΈΠ½ΡΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ API ΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΌ Windows Π΄Π»Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π΄Π»Ρ:
- ΠΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (COM).
- Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ.
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ.
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ.
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ..
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- ΠΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Windows.
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Windows.
- API ΡΠΏΡΠ°Π²ΠΊΠΈ.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅
Π’Π΅ΠΌΠ° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
COM | COM — ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ.COM ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Microsoft OLE (ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ) ΠΈ ActiveX (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ). |
COM + | COM + — ΡΡΠΎ ΡΠ²ΠΎΠ»ΡΡΠΈΡ Microsoft Component Object Model (COM) ΠΈ Microsoft Transaction Server (MTS). COM + ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ COM, MTS ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ COM. COM + Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½ΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.COM + ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ Π²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΌΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎΡΠ½ΠΎ Π² ΡΡΠΎΠΊ. COM + ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π²Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΠΈ. |
API ΡΠΆΠ°ΡΠΈΡ | API ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ Windows MSZIP, XPRESS, XPRESS_HUFF ΠΈ LZMS. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ. |
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ (DTC). |
Microsoft.Dtc.PowerShell.Diagnostics | ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°Ρ PowerShell, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Microsoft (MSDTC) Π΄Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ. |
Microsoft.MsDtcManagement.ΠΠΎΠΌΠ°Π½Π΄Ρ | ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°Ρ PowerShell, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Microsoft (MSDTC) Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. |
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ | ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DLL ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ. |
Π‘ΠΏΡΠ°Π²ΠΊΠ° API | Help API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. |
ΠΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ | ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΡΡΠΈΠΊΠΈ ΠΈ ΠΊΠ°Π½Π°Π»Ρ. |
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΡΠ΄ΡΠ° | ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΡΠ΅Π΅ΡΡΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ². |
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ | ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ. |
Π‘Π»ΡΠΆΠ±Ρ MultiPoint | Π ΠΎΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠ»Π°ΡΡΠ΅. |
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ | Operation Recorder ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΡΠΊΠΎΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²ΡΠ±ΠΎΡΠΊΠΈ Windows ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. |
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ | ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ. |
ΠΡΠΎΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ | ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ. |
Π‘Π»ΡΠΆΠ±Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠΎΠ»ΠΎΠ² | ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠΎΠ»ΠΎΠ². |
Π£ΡΠ»ΡΠ³ΠΈ | ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ»ΡΠ³Π°ΠΌΠΈ. |
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ | ΠΠ°ΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. |
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Windows | Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Windows — ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠΌΠΎΡΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½Ρ-ΡΠ²ΡΠ·Ρ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΠ²ΡΠ·Ρ. |
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Windows | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. |
ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Windows Π΄Π»Ρ Linux | Π‘ΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Windows Π΄Π»Ρ Linux (WSL). |
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows | ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π΅ΡΡΡΡ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²Π΅ΡΡΠΈΠΈ. |
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API: ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΈΠΏΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ: 9 ΠΌΠΈΠ½ΡΡ
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΠΈΡΠ°Π»ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Ρ ΠΈΠ»ΠΈ Π±Π»ΠΎΠ³ΠΈ, Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²ΠΈΠ΄Π΅Π»ΠΈ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ API.ΠΠ²ΡΡΠΈΡ ΡΠΎΠ»ΠΈΠ΄Π½ΠΎ, Π½ΠΎ ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ?
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°: ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΌΡΡΠ»ΠΈ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΠΈ ΠΈΠ΄Π΅ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° (ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ), ΠΆΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠΈΠΌΠΈΠΊΠΈ. ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° — ΡΠΊΡΠ°Π½ Ρ ΠΌΠ΅Π½Ρ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ ΠΌΡΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ.ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ — API (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API?
API — ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ API. ΠΡΡΠΎΡΠ½ΠΈΠΊ: Π‘ΡΠ΅Π΄Π½ΠΈΠΉ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
- Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ, ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (Ρ.Π΅.Π΅., ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π³ΠΎΡΡΠΈΠ½ΠΈΡΠ½ΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² X Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π°ΡΡ) ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ (Ρ. Π΅. ΠΌΠ°ΡΡΡΡΡ ΠΎΡ ΡΠΎΡΠΊΠΈ A Π΄ΠΎ ΡΠΎΡΠΊΠΈ B Π½Π° ΠΊΠ°ΡΡΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ API, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ / ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ. ΠΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ / ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΈ Π΄Π²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ API.
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Red Hat ΠΎΡΠΌΠ΅ΡΠ°ΡΡ, ΡΡΠΎ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌΠΈ, Π³Π΄Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ — ΡΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ: Β«ΠΡΠ»ΠΈ ΡΡΠΎΡΠΎΠ½Π° ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ, ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.Β» ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ API — ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠΌ ΡΠ»ΡΠΆΠ±Ρ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ².
ΠΠ°ΠΆΠ΄ΡΠΉ API ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, — ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈ ΡΡΠ»ΡΠ³. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ — ΡΡΠΎ ΡΡΠ°Π·Ρ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· Π³Π»Π°Π³ΠΎΠ»ΠΎΠ² ΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΠ°ΡΠ°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΠ΅Π°Π½Ρ
- ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°
- ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API.
API
ΡΠ»ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΠΈΠ»ΡΡ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ) ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ»ΡΠ³ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ². ΠΠΎ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.ΠΠ½ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ»ΡΠΆΠ°Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΡΠΊΡΡΠ²Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ.
Π’ΠΈΠΏΡ API
API
ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π²ΡΠΏΡΡΠΊΠ°
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π²ΡΠΏΡΡΠΊΠ°, API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ, ΠΏΠ°ΡΡΠ½Π΅ΡΡΠΊΠΈΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ.
Π’ΠΈΠΏΡ API ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ
Π§Π°ΡΡΠ½ΡΠ΅ API. ΠΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ»ΡΠ³ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΠ΄ΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΠ’-ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΡΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ API. Π§Π°ΡΡΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ API.
ΠΠ°ΡΡΠ½Π΅ΡΡΠΊΠΈΠ΅ API. API ΠΏΠ°ΡΡΠ½Π΅ΡΠΎΠ² ΠΎΡΠΊΡΡΡΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠ°ΡΡΠ½Π΅ΡΠ°ΠΌ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π²ΡΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ.Π’ΠΈΠΏΠΈΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΡΠ½Π΅ΡΡΠΊΠΈΡ API ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΡΠ½Π΅ΡΠ°ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π΄ΠΎΡ ΠΎΠ΄ΠΎΠ². Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠ΅ Π°ΠΊΡΠΈΠ²Ρ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π»ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΈΡ API, Π΄ΠΎΡΡΠΎΠΉΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΡΠΈΠ»Ρ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ API. ΠΡΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².ΠΡΠ±Π»ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ·Π½Π°Π²Π°Π΅ΠΌΠΎΡΡΡ Π±ΡΠ΅Π½Π΄Π° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄ΠΎΡ ΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.
ΠΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ API — ΠΎΡΠΊΡΡΡΡΠ΅ (Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅) ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ API ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ API ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ API, Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΡ ΡΠ±ΠΎΡΠΎΠ².Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ API ΠΈ Π»ΡΠ±Π°Ρ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΈ ΡΡΠΎ API ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ API ΠΏΠ»Π°ΡΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΡΠΊΡΡ ΠΏΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ API Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΠΏΠ»Π°ΡΡ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ — ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡΠ΅Π½ΠΈΡΡ API ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠΊΡΠΏΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ.
API ΠΏΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
API
ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ.
API Π±Π°Π· Π΄Π°Π½Π½ΡΡ . API Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ, ΡΠ°Π±Π»ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Ρ. Π. API Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Drupal 7, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (Oracle, MongoDB, PostgreSQL, MySQL, CouchDB , ΠΈ MSSQL).
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ — API Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ORDS, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΡΠΎΠ΅Π½ Π² Oracle REST Data Services.
API ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠ° Π³ΡΡΠΏΠΏΠ° API ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΠ‘ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π΄Π»Ρ ΠΈΠ½Ρ.
ΠΠΎΠ΄Π΅Π»Ρ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ
ΠΡΠ° ΡΠ΅ΡΠΈΡ Π±Π»ΠΎΠ³ΠΎΠ² ΠΎ Π²Π»Π°Π΄Π΅Π½ΠΈΠΈ API ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρ Π‘ΡΠΈΠ²Π΅Π½ΠΎΠΌ Π€ΠΈΡΠΌΠ°Π½ΠΎΠΌ, Π‘ΡΠ°Π½ΠΈΡΠ»Π°Π²ΠΎΠΌ ΠΠΎΠΊΡΠ°Π΅Π²ΡΠΌ ΠΈ ΠΠ΄Π°ΠΌΠΎΠΌ ΠΡΠ²ΠΈΡΠΎΠΌ. ΠΠ°ΠΆΠ΄ΡΠΉ Π°Π²ΡΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ MuleSoft — ΡΡΠΏΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΎΡΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ Π±Π»ΠΎΠ³ΠΎΠ² ΠΎ Π²Π»Π°Π΄Π΅Π½ΠΈΠΈ API ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅ΡΡ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²Π»Π°Π΄Π΅Π½ΠΈΡ API. Π§ΡΠΎΠ±Ρ Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ API, Ρ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ³Π»ΡΠ±Π»ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API?
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π½Π°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ.Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡΡΡΡ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΈ / ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΡ Π±ΠΈΠ·Π½Π΅ΡΠΎΠΌ Π² ΡΡΠΈΡ ΠΎΠ±ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° ΠΎΠ±ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ±Π΅Π³Π½ΡΡΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ, Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ / Π±ΠΈΠ·Π½Π΅Ρ-Π²Π»Π°Π΄Π΅Π»ΡΡΡ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠΈΡ ΡΠ»ΡΠΆΠ± ΠΈ Ρ.
ΠΠ΅Π»ΠΎΠ²ΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ API
ΠΠ΅Π»ΠΎΠ²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ API Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΡΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΈ / ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π½Π½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Ρ Π²ΡΠΎΡΠΈΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π²Π»Π°Π΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΡΠ»ΡΠ³). Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ API Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π° Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ / ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ.
ΠΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ API ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ. Π₯ΠΎΡΠΎΡΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ API Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΉ.Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π·Π°ΠΏΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ»ΠΈ ΠΈ Π·ΠΎΠ½Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΡΡΠ°ΡΠ»ΠΈ.
ΠΡΡΡΠΈΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ API ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡ, ΠΊΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ / ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½ΠΎ ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ.ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SAP, Salesforce), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-Π²Π»Π°Π΄Π΅Π½ΠΈΡ API Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΡΠΌ, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ΡΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ (ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ) ΡΠΎΠ»ΡΠΊΠΎ Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠ΄ΡΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ. Π΄.), Π° Π½Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π±ΠΈΠ·Π½Π΅ΡΠ° (LOB), ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ Ρ. Π΄.). ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ LOB.
ΠΠ°ΠΏΡΠΎΡΠΈΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠΈΠΌ API Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΡ Π±ΠΈΠ·Π½Π΅ΡΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ΡΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΈ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π΅ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Ρ ΡΠΈΡΠΎΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. , ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ, Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ.Π ΡΠ½ΠΎΠ²Π° Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π½Π΅Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ LOB.
ΠΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ API
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π² Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ²ΡΡΠ΅ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠ², Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΈ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ ΡΠΈΡΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π±ΠΈΠ·Π½Π΅ΡΠ°, Π½Π°Π·Π½Π°ΡΠΈΠ² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π΄ΠΎΡΡΠΈΡΡ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΠΌΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ.Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΎΠ±ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π±ΠΈΠ·Π½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΠΌΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ°Ρ .
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ — ΠΎΠ±ΡΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΡΠ΅Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠΈΡ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΅Π΄ΠΈΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΎΠΏΡΡΠ°. ΠΡΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΊΡΠ»ΡΡΡΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Β«ΠΎΠ΄ΠΈΠ½ Π³Π»ΠΎΡΠΎΠΊ Π΄Π°Π²ΠΈΠ»ΡΡ ΠΈ ΡΡΡΡΡΡΒ», ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΈΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΡΠΈΠ½ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΏΠΎΠ½ΡΠΎΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΡΡ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΡΠ»ΡΡΡΡΠ΅ Π½Π° ΠΌΠ΅ΡΡΠ°Ρ .
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΡΠΎ Π·ΡΠ΅Π»ΡΠΌΠΈ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ, Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π° EA ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ 2 ΡΠΎΠ»ΠΈ: Β«ΠΠ»Π°Π΄Π΅Π»Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ Β» ΠΈ Β«ΠΠ»Π°Π΄Π΅Π»Π΅Ρ Π΄Π°Π½Π½ΡΡ Β». ΠΠ»Π°Π΄Π΅Π»Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ — ΠΎΠ±ΡΡΠ½ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ — ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΊΠ°ΠΊΠΎΠ²Ρ ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ»Π°Π΄Π΅Π»Π΅Ρ Π΄Π°Π½Π½ΡΡ — ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΡΡΠ΄ΠΈΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΡ (Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ MDM) — ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈ Ρ. Π.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±ΠΈΠ·Π½Π΅Ρ-Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ²). ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ API, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°Π»ΠΈΡΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π±ΠΈΠ·Π½Π΅Ρ-API.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Π±Π»ΠΎΠ³Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ API ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π½Π°ΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ API.
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ: API Π±ΠΈΠ·Π½Π΅Ρ | # api-led # ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ API # Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ API
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π±Π»ΠΎΠ½Ρ API Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ API
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅.ΠΠΎ ΠΎΠ΄Π½ΠΈ ΡΠΎΠ»ΡΠΊΠΎ API Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π² Salesforce Π² SAP Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΡΠ°-ΡΠ°ΠΊΡΡΡΡ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ API, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ / ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½Ρ API. Π¨Π°Π±Π»ΠΎΠ½Ρ API ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Β«ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²Β», Β«API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²Β» ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠΉ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ API
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ API — ΡΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π°ΡΠΈΡ Π°ΠΊΡΠΈΠ²ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² API. ΠΠΎΠ΄Ρ ΠΎΠ΄ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ API Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΎΠΏΡΡΠ°. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ API Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½ΠΎ ΠΌΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ API ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ .
Π ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΠ΅Ρ ΠΠ’-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ Π»Π΅ΠΆΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ·-Π·Π° ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΊΡΡΡΡ ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡΠΊΡΡΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΎΡ Π»ΡΠ±ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠ»ΠΈ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
Π¨Π°Π±Π»ΠΎΠ½Ρ API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΆΠ΅Π»Π°ΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌ. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· Π½Π°Π±ΠΎΡ ΡΠ»ΡΠΆΠ± RESTful, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π² RAML, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π»ΡΠ±ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ.
ΠΠΈΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ SAP ΡΠ΅ΡΠ΅Π· BAPI Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ API, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ SAP System API.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ SAP ΡΠ΅ΡΠ΅Π· BAPI
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ SAP ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ API
API ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΈ ΡΠ΅Π»Π΅Π²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ API. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π·Π°ΠΊΠ°Π·Π° Π½Π° ΠΏΠΎΡΡΠ°Π²ΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΎΠ±ΡΠ°Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠΎΠ·Π½ΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΠ»ΡΠ³Ρ, ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°ΡΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΎΠ±ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ API, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
- ΡΠ΅Π»Π΅Π²ΠΎΠΉ — ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ API, ΠΊΡΠ΄Π° Π±ΡΠ΄ΡΡ Π²ΡΡΠ°Π²Π»Π΅Π½Ρ Π΄Π°Π½Π½ΡΠ΅
- ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ
- ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² — Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Ρ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΌ.
Π¨Π°Π±Π»ΠΎΠ½Ρ API ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡ ΠΏΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² API ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ°, Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΈ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ.
Π¨Π°Π±Π»ΠΎΠ½Ρ API Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² API, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ Salesforce, SAP ΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· SAP Π² Salesforce:
1.ΠΠ±ΡΡΡΠ°Π³ΠΈΡΡΠΉΡΠ΅ΡΡ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ RESTful API, ΡΡΠΎΠ±Ρ ΡΠΊΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Salesforce ΠΈ SAP. ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ API Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΈΡ Π² CloudHub.
2. ΠΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ
ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ API ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· Salesforce ΠΈ / ΠΈΠ»ΠΈ SAP ΡΠ΅ΡΠ΅Π· RESTful API.
3. ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ SAP ΠΈ Salesforce ΡΡΠ°Π½ΡΡ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ API ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ; Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ·ΠΎΠ² API, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· Salesforce Π² SAP.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΠΌ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ API, ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π² ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ·ΡΠ²Ρ, ΠΏΡΠΈΡΡΠ»Π°ΠΉΡΠ΅ ΠΈΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ [email protected]
Π Π°Π·Π΄Π΅Π»: Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Anypoint Platform, Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ | #Anypoint Exchange # Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Anypoint #APIs
ΠΠΈΠ±ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° API | ISPsystem
RestAPI — ΡΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅.ΠΠ»Π°ΡΡΠΎΡΠΌΡ ISPsystem ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ GET, POST ΠΈ DELETE. ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π’Π°ΠΌ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠ²Π΅ΡΡ.
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² DCImanager:
ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ API Π΄Π»Ρ VMmanager:
ΠΡΠΈ ΠΏΠΎΠΊΡΠΏΠΊΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ISPsystem Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ BILLmanager, WHMCS, HostBill (DCImanager ΡΠΎΠ»ΡΠΊΠΎ) ΠΈ PowerDNS.AD / LDAP Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡΠΎΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° API ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΠΎΡΠΈΡ ΡΡΠΏΠ΅Ρ Π°
ΠΠ°ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ISPsystem
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β
API Π² DCImanager
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ
Π DCImanager Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· API.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ
ΠΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ, Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π· API. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΡΠ°ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡΠ°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ API Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΡΠ°Ρ , ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ . Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΠ².
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°
API ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°: Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ
Π DCImanager Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°Π΄ΡΠ΅ΡΠΎΠ², ΡΠ΄Π°Π»ΠΈΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ IP-Π°Π΄ΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ API.
API Π² VMmanager
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
ΠΠ°ΡΠ° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² Linux. ΠΠΎΠ½ΡΡΠ»ΡΡΠΈΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅ΠΌ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Β«Π½Π° ΠΌΠ΅ΡΡΠ΅Β» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ²ΡΠΈΡΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
ΠΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΠ’-Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΌΡ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Π° ISPsystem Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 2 Π½Π΅Π΄Π΅Π»ΠΈ. ΠΡΠΎΠ΄ΡΠΊΡ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ ΡΡΠ½ΠΊΠ° ΠΈ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΠ’-Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΡΠ±ΠΎΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API
- ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ / ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
- API-ΠΏΡΠΎΠΊΡΠΈ — ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ API, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΎΠ³ΠΈΠΊΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΡ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
- ΠΡΠΎΠ΄ΡΠΊΡ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΊΡΠΈ API, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° API, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ .
ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SAP Cloud Platform, API Management Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API. ΠΡΠΎΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ API Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π² Π²Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠ»ΡΠ·Π° SAP. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ API ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° Π½Π΅ΠΌ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ API, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΏΡΠΎΠΊΡΠΈ Π² ΡΠ²ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ API Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π¨Π°Π³ 1. Π£Π·Π½Π°ΠΉΡΠ΅ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ API
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠ°ΡΠ°Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ, Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ API. ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΠ±Π·ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΠΌΠ΅ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΊΡΠΈ.
ΠΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°Ρ API. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π±Π»ΠΎΠ³, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ SAP, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΠ΅Π· API Management, ΡΠΏΡΠΎΡΠ°ΡΡ Π²Π°ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ.
Π¨Π°Π³ 2. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠΎΡΡΠ°Π» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ SAP API.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠΎΡΡΠ°Π» SAP API Management API Portal (URL-Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΊΠ»ΡΡΠΈΡΡ SAP Cloud Platform, API Management ServiceΒ»).
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 3. ΠΡΡΡΡΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API
ΠΠ· ΠΏΠ»ΠΈΡΠΊΠΈ Quick Action Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ API .
ΠΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΌΠ°ΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 4. ΠΡΠΎΡΠΌΠΎΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² API
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡ API Developer, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Hamburger Menu Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Configure .
ΠΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ API Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΌΠ΅Π½Ρ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π‘ΠΎΠ·Π΄Π°ΡΡ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 5. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ΅ API.
Π ΡΠΈΠ½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠ±Π·ΠΎΡΠ° Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΠΌΡ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API.
ΠΠΎΠ»Π΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|
ΠΠΌΡ | SAPDeveloperSystemES5 |
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Connection Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎΠ»Π΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ»ΡΠ·Π° SAP Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ OData |
Π₯ΠΎΡΡ | sapes5.sapdevcenter.com |
ΠΠΎΡΡ | 443 |
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SSL | (ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ) |
Π² ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ | (Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ) |
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎΠ»Π΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|
Π’ΠΈΠΏ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ | ΠΠ°Π·ΠΎΠ²ΡΠΉ |
ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ | |
ΠΠ°ΡΠΎΠ»Ρ | <Π²Π°Ρ_ ΠΏΠ°ΡΠΎΠ»Ρ_GATEWAY> |
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ»ΡΠΆΠ±Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎΠ»Π΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|
ΠΡΠ΅ΡΠΈΠΊΡ ΠΏΡΡΠΈ | / sap / opu / odata |
URL ΡΠ±ΠΎΡΠ° ΡΡΠ»ΡΠ³ | / IWFND / CATALOGSERVICE / ServiceCollection |
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 6. Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²Π²Π΅ΡΡ Ρ ΡΠΏΡΠ°Π²Π°.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 7. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π² ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ΅ API. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ URL ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° , ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 8. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ»ΡΠ³.
ΠΡΠ»ΠΈ URL-Π°Π΄ΡΠ΅Ρ Π±ΡΠ» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΡΠΆΠ±, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ SAP Gateway (ΡΡΠΎΡ ΡΠΊΡΠ°Π½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² ΡΠ°Π·Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ).ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²Π²Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ . ΠΡΠ»ΠΈ Π²Π°Ρ ΠΏΠΎΠΏΡΠΎΡΡΡ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°ΡΠΈ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° APIΒ» ΡΠ²Π»ΡΡΡΡΡ Π²Π°ΡΠΈΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ»ΡΠ·Π° . ΠΠΎΡΠ»Π΅ 3 Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ Π²Π°Ρ ΡΠ»ΡΠ· Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 9. ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ ΠΎΠ±Π·ΠΎΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API
ΠΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ API Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½, Π±ΡΡΡΡΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²Π²Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅.Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ SAPDeveloperSystemES4
, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠ½ΠΈΠΌΠΊΡ ΡΠΊΡΠ°Π½Π° ΠΎΠ±Π·ΠΎΡΠ°
ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π¨Π°Π³ 10. ΠΡΠΎΡΠΌΠΎΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° API Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² API.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΠΎΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ
.