Π Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΅ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ β Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ·Π²Π½Π΅ Π½Π° Π½Π΅ΠΊΠΎΠΉ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅, Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΌΠ΅ΡΠ°ΠΌΠΎΡΡΠΎΠ·. Π ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π²ΡΠ±ΠΎΡΠ° ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°ΠΌΠΈ.
ΠΠΎΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Acronis Cyber Cloud ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π½Π°ΠΌ Π½ΠΈΠΊΡΠ΄Π° ΠΎΡ Π½ΠΈΡ Π½Π΅ Π΄Π΅ΡΡΡΡ. Π ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΠΎ ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ, Π½Π΅Π²ΠΎΠ»ΡΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ ΠΎΠ± ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π‘ΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ) ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ) Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π²Π΅ΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΈ ΡΡΠΎ Π±Π΅Π· ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π° ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π° ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π‘Ρ
Π΅ΠΌΠ° ΠΌΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Amazon ΠΈΠ·
Π ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΎΡΡΠΎΠΈΡ Π΄ΠΈΠ»Π΅ΠΌΠΌΠ°? ΠΠ΅ ΡΠ°ΠΊΡΠΎ Π΅ΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β HTTP Rest ΠΈ gRPC ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google. ΠΠ΅ ΠΆΠ΅Π»Π°Ρ Π±ΡΡΡ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ Π² ΡΡΠ΅ΠΊ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Google, ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ HTTP Rest. ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌ HTTP REST ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ²: RAML ΠΈ OAS, ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Swagger ΠΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ². ΠΠΎ, ΠΊΠ°ΠΊ Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎΡ Π²ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΎΡΡΠΎ.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ?
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Ρ Π²Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· Π΅Π³ΠΎ HTTP-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π’ΠΎ Π΅ΡΡΡ Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΈΡ HTTP-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ΅Π»Π° Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠΎΠ². ΠΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΈΡ ΡΠ»ΠΎΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅(βΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊ Π·Π°ΠΏΡΠΎΡΡ?β, βΠ² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π΅ΡΠ½Π΅ΡΡΡ ΠΊΠΎΠ΄ 400?β)
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Ρ ΠΎΡΠ΅ΡΡΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·Ρ ΠΈΠ· Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ RAML/Swagger ΠΌΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ, ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π·Π°Π»ΠΈΠ²Π°ΡΡ Π΅Π΅ Π½Π° Π²Π°Ρ developer-portal :).
ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
Π Π΅ΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ, ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π²ΡΠΎΡΠ΅ΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅. ΠΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ°, Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ? Π‘ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅Π²Π΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅?
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ², Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ. Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π» ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π±ΡΠ΄ΡΡ Π²Π½Π΅Π΄ΡΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΡΡΠ°Ρ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ RAML, ΠΈ OAS ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
, Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ
ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ (
Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π° Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅β¦ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΅ΠΆΠ° Ρ ΡΠΆΠΎΠΌ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Acronis β ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Acronis Cyber Platform. Acronis Cyber Platform β ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ Acronis Cyber Cloud ΠΈ Π°Π³Π΅Π½ΡΡΠΊΠΎΠΉ ΡΠ°ΡΡΡΡ. Π₯ΠΎΡΡ Π½Π°ΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ API, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² RAML, Π½Π°Ρ ΡΡΡΡΠ°ΠΈΠ²Π°Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ API ΠΎΠΏΡΡΡ ΠΏΠΎΠ΄Π½ΡΠ»ΠΎ Π²ΠΎΠΏΡΠΎΡ Π²ΡΠ±ΠΎΡΠ°: ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ?
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π²Π° β ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ RAML ΠΈ Swagger (ΠΈΠ»ΠΈ OAS). ΠΠΎ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π΅ 2, Π° 3 ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅.
Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π΅ΡΡΡ RAML β ΠΌΠΎΡΠ½ΡΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ. Π Π½Π΅ΠΌ Ρ ΠΎΡΠΎΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ β ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΠ΄ΡΠΊΡ, Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² β ΡΡ Π΅ΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΡΠ΅Π»Π° ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ RAML, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Mulesoft, ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»Π°ΡΡ ΠΊ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌΡ Open API, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ
ΠΡΠ»ΠΈ Π±Ρ Π½Π΅ ΠΎΠ΄Π½ΠΎ Π½ΠΎβ¦
ΠΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ open-source ΡΡΠΈΠ»ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ OAS 3.0. ΠΠ»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° Go ΡΠ°ΠΌΡΠΌ ΠΊΡΠΈΡΠΈΡΠ½ΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ
- ΡΠ»ΡΡΡΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡ Π΅ΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
Π΄ΠΎΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ JSON Schema- ΠΏΡΠΎΠΊΠ°ΡΠ°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
Π‘ΠΈΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π·Π°Π±Π°Π²Π½Π°Ρ: ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ RAML, Swagger 2 ΠΈ Swagger 3 ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Swagger 2 ΠΈΠΌΠ΅Π΅Ρ Ρ ΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ OpenSource. RAML β ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠΉβ¦ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΉ, Π° Swagger 3 ΡΠ»Π°Π±ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΌΡΡΠ½ΠΈΡΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎΡΡ Π²Π΅ΡΡΠΌΠ° Π΄ΠΎΡΠΎΠ³ΠΎ.
ΠΡΠΈ ΡΡΠΎΠΌ Π΅ΡΠ»ΠΈ Π² Swagger ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΡΠ½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΏΠΎΡΡΠ°Π»
ΠΡ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ RAML, ΠΊΠ°ΠΊ Ρ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΈ Π² ΠΈΡΠΎΠ³Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ°
Π Π½ΡΠΆΠ½ΠΎ Π»ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ?
ΠΠ°ΡΠ°ΠΌΠ°Π½ΠΈΠ²ΡΠΈΡΡ Ρ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ RAML, ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ RAML Π² Swagger 2 ΠΈ ΡΠΆΠ΅ Π² Π½Π΅ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π²ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ RAML, ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΎΡ Swagger.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° OpenSource, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ²:
oas-raml-converter β Π½ΡΠ½Π΅ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΠΈΠ»ΠΈΡΠ°. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ, ΡΡΠΎ Ρ Π½Π΅Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ RAMLβΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ βΡΠ°Π·ΠΌΠ°Π·Π°Π½Ρβ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° JavaScript ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±Ρ ΠΎΠ΄ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π°. ΠΠ·-Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΠΉ ΠΊ ΡΠΌΠΈΡΠ°ΡΡΠ΅ΠΉ ΡΡΠΈΠ»ΠΈΡΠ΅.webapi-parser β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈ Π²ΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π² Π»ΡΠ±ΡΡ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π·Π°ΡΠ²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° RAML 0.8, RAML 1.0 ΠΈ Swagger 2.0. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΠ° Π±ΡΠ»Π° Π΅ΡΠ΅ΠΠ ΠΠΠΠ ΡΡΡΠΎΠΉ ΠΈ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π°IR , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΠΌ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ. ΠΠΎ ΠΏΠΎΠΊΠ° Π²ΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°Π³ΠΎΠ² Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ RAML ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠ»ΠΈΡ. Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΡΠ³Π°Π»ΠΈΡΡ Π½Π° Π½Π°ΡΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π² ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠΌΠΈ Π΄ΡΡΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ. ΠΡΠΈΡΠ΅ΠΌ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎ Π΄Π΅Π»Ρ :).
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° Π½ΡΠ½Π΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠ°Π΄Π°Π΅Ρ Π½Π° ΡΠΎΠ²Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π½Π΅ Π½Π°ΡΠ»ΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° OpenSource ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΡΠ°Π½ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π²ΠΈΡΡΠΌΠΈ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠ°Π½Π΅Ρ ΠΏΡΠΎΡΠ΅. Π ΠΏΠΎΠΊΠ° ΡΡΡΠ΄ΠΎ-Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°ΡΡΠ°ΡΡ Π½Π° βΠ΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°Π½ΠΈΠ΅β ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΡΠ΅ΠΌ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΎΠΏΡΡΠΎΠΌ ΠΈ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ, ΡΠ΅Π³ΠΎ Π²Ρ ΠΎΡ Π½Π΅Π³ΠΎ Ρ ΠΎΡΠΈΡΠ΅, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ΄ΠΆΠ΅Ρ Π³ΠΎΡΠΎΠ²Ρ Π²Π»ΠΎΠΆΠΈΡΡ. ΠΡΠ»ΠΈ Π·Π°Π±ΡΡΡ ΠΏΡΠΎ OpenSource, ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ. ΠΠΎ ΠΎΠ½ΠΈ ΡΡΠΎΡΡ Π΄ΠΎΡΠΎΠ³ΠΎ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° β ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΡΡΠ°ΡΡ ΡΠ΅ΡΠΏΠΈΠΌΡ, Π½ΠΎ Π΄Π»Ρ ΡΡΠ°ΡΡΠ°ΠΏΠ° ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ·ΠΆΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΏΡΠΎΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Swagger 2, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ API, Π²Π΅Π΄Ρ Π² RAML Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Ρ Π²Π°Ρ Π·Π°Π΄Π°Ρ, ΡΠ΅ΠΌ ΡΠΈΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ
, Π° ΠΎΠ½ΠΈ ΡΠ°Π·Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΈ Π»ΡΡΡΠ΅ ΡΡΠ°Π·Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ Π²Π°ΡΠΈ Π·Π°ΡΡΠ°ΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
ΠΠΎ ΡΡΠΎΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ, Π½Π΅ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½Ρ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΅ΡΡΡ ΡΠ°Π½Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ±ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² RAML, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ βΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ Π²ΡΡΠ°ΠΆΠ°ΡΡ ΠΌΡΡΠ»ΠΈβ, ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Swagger, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ βΠΎΠ½ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅β, β Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΎΠΌ, Π² ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΈ Ρ ΠΎΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΏΠΈΠ»ΡΠ½ΠΈΠΊΠΎΠΌ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ°, Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΡΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ β ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° Π±Π°Π·Π΅ Π½Π°ΡΠ΅ΠΉ RAML-Swagger Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ², ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π’ΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΎΠΏΡΠΎΡΠ΅.
Π ΠΊΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π»Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²?
-
RAML 0.8
-
RAML 1.0
-
Swagger 2
-
OAS3 (aka )
-
Blueprint
-
ΠΡΡΠ³ΠΎΠΉ
-
ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
ΠΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 100 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΠΈΡΡ 24 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com