Π Π°Π·Π½ΠΎΠ΅

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 ΠΊΠΈΡ‚Π°:

  1. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ
  2. НаслСдованиС
  3. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ скрываСм Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ всС Π»Π΅Π³ΠΊΠΎ ΠΈ понятно. НаТал Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΡƒ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‚Ρ‡Π΅Ρ‚. А ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ β€” Π΅ΠΌΡƒ всС Ρ€Π°Π²Π½ΠΎ. Какая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… скрыта ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ? Oracle? MySQL? На ΠΊΠ°ΠΊΠΎΠΌ языкС программирования написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? Как ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄? НС ΡΡƒΡ‚ΡŒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставляСт интСрфСйс, ΠΈΠΌ ΠΎΠ½ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

НС всСгда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставляСт ΠΈΠΌΠ΅Π½Π½ΠΎ графичСский интСрфСйс. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ SOAP, REST интСрфСйс, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ API. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот интСрфСйс, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ:

  • Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄;
  • Ρ‡Ρ‚ΠΎ получаСтся Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅;
  • ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с

GUI β€” graphical user interface

. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с

API β€” Application programming interface

. Им Π½Π΅ Π½ΡƒΠΆΠ½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚.

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Π°ΠΏΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ косвСнно.

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ:

  1. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя
  2. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы
  3. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄
  4. АвтотСсты Π΄Π΅Ρ€Π³Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

КосвСнно:

  1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с GUI

Π’Ρ‹Π·ΠΎΠ² API Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

1. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя

Π Π°Π·Π½Ρ‹Π΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Они Π΄Π΅Π»Π°ΡŽΡ‚ это Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ API!

Π­Ρ‚ΠΎ самый «простой» Π² использовании способ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ API, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вызываСтся β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. И ΠΎΠ½ ΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒ! А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π΅Ρ‚ =)

Π¨ΡƒΡ‡Ρƒ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π΅ΡΡ‚ΡŒ всСгда. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π² этом случаС Π² качСствС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅. А ΠΎΠ½ΠΈ, ΡƒΠ²Ρ‹, Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Или Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Π΅, ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½, Π½ΠΎ ΡƒΠΆΠ΅ Π·Π°Π±Ρ‹Π», ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π» исходноС api ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒβ€¦

2. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы

А Π²ΠΎΡ‚ это Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ кСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ тСстировщики Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…. Или тСстировщики, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ своСй систСмы с Ρ‡ΡƒΠΆΠΎΠΉ.

Одна систСма Π΄Π΅Ρ€Π³Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· api ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы. Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы. Или Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² эту систСму.

Допустим, я Ρ€Π΅ΡˆΠΈΠ»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ подсказки ΠΈΠ· Π”Π°Π΄Π°Ρ‚Ρ‹ ΠΊ своСму ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‡ΠΈΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π»Π΅Π³ΠΊΠΎ Π²Π²Π΅Π» адрСс доставки.

Π― ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽ подсказки ΠΏΠΎ API. И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ адрСс Π½Π° ΠΌΠΎΠ΅ΠΌ сайтС, ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ‚ подсказки ΠΈΠ· Π”Π°Π΄Π°Ρ‚Ρ‹. Как это получаСтся:

  • Он Π²Π²ΠΎΠ΄ΠΈΡ‚ Π±ΡƒΠΊΠ²Ρƒ Π½Π° ΠΌΠΎΠ΅ΠΌ сайтС
  • Мой сайт отправляСт запрос Π² подсказки Π”Π°Π΄Π°Ρ‚Ρ‹ ΠΏΠΎ API
  • Π”Π°Π΄Π°Ρ‚Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚
  • Мой сайт Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ


Π’ΠΎΠ½ сколько шагов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ! И Ρ‚Π°ΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ символ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ этого взаимодСйствия, Π½ΠΎ ΠΎΠ½ΠΎ Π΅ΡΡ‚ΡŒ.

И, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ кСйс, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ API-ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· SOAP ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, Π² интСрфСйсС Π΅Π³ΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ‚. Π§Ρ‚ΠΎ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π·Π°ΠΊΠ°Π·Π°Π», Ρ‚ΠΎ ΠΌΡ‹ ΠΈ сдСлали Β―\_(ツ)_/Β―

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Users. ΠœΠ΅Ρ‚ΠΎΠ΄ MagicSearch создан Π½Π° основС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… событий. Π₯отя Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅Ρ‰Π΅ Π·Π°ΠΌΡƒΠ΄Ρ€Π΅Π½Π΅Π΅ Π±Ρ‹Π»Π°, я Ρ‚ΠΎ ΠΏΠΎΠ΄ свой сайт подстраивала.

Но Ρ‚ΡƒΡ‚ Ρ„ΠΈΡˆΠΊΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² самой систСмС Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ поиск, просто строка Π²Π²ΠΎΠ΄Π°. Ну, ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ². А Π²ΠΎΡ‚ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½Π° Π±Ρ‹Π»Π° цСлая ΠΊΡƒΡ‡Π° Π΄ΠΎΠΏ возмоТностСй, Ρ‡Ρ‚ΠΎ ΠΈ Π±Ρ‹Π»ΠΎ сдСлано Ρ‡Π΅Ρ€Π΅Π· SOAP-ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» супСр-поиска доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ API, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² интСрфСйсС Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΡ‰ΡƒΠΏΠ°Π΅Ρ‚.

Π’ этом случаС Ρƒ вас ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ Π’Π—, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ API-ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’Π°ΡˆΠ° Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Випичная Π·Π°Π΄Π°Ρ‡Π° тСстировщика, просто Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ стандартным тСстам Π½Π° тСст-Π΄ΠΈΠ·Π°ΠΉΠ½ особСнности тСстирования API, ΠΈ Π΄Π΅Π»ΠΎ Π² шляпС!

(Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π΄ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² API β€” я расскаТу ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅)

3. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅:

  1. Для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹
  2. Для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π³Π° (ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π³Π΄Π΅? На сСрвСрС ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅?)
  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 ΠΊΠΈΡ‚Π°:

  1. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ
  2. НаслСдованиС
  3. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ скрываСм Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ всС Π»Π΅Π³ΠΊΠΎ ΠΈ понятно. НаТал Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΡƒ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‚Ρ‡Π΅Ρ‚. А ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ β€” Π΅ΠΌΡƒ всС Ρ€Π°Π²Π½ΠΎ. Какая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… скрыта ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ? Oracle? MySQL? На ΠΊΠ°ΠΊΠΎΠΌ языкС программирования написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? Как ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄? НС ΡΡƒΡ‚ΡŒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставляСт интСрфСйс, ΠΈΠΌ ΠΎΠ½ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

НС всСгда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставляСт ΠΈΠΌΠ΅Π½Π½ΠΎ графичСский интСрфСйс. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ SOAP, REST интСрфСйс, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ API. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот интСрфСйс, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ:

  • Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄;
  • Ρ‡Ρ‚ΠΎ получаСтся Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅;
  • ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с GUI β€” graphical user interface. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с API β€” Application programming interface. Им Π½Π΅ Π½ΡƒΠΆΠ½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚.
Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Π°ΠΏΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ косвСнно.

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ:

  1. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя
  2. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы
  3. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄
  4. АвтотСсты Π΄Π΅Ρ€Π³Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

КосвСнно:

  1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с GUI

Π’Ρ‹Π·ΠΎΠ² API Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

1. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя

Π Π°Π·Π½Ρ‹Π΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Они Π΄Π΅Π»Π°ΡŽΡ‚ это Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ API!

Π­Ρ‚ΠΎ самый «простой» Π² использовании способ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ API, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вызываСтся β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. И ΠΎΠ½ ΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒ! А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π΅Ρ‚ =)

Π¨ΡƒΡ‡Ρƒ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π΅ΡΡ‚ΡŒ всСгда. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π² этом случаС Π² качСствС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅. А ΠΎΠ½ΠΈ, ΡƒΠ²Ρ‹, Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Или Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Π΅, ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½, Π½ΠΎ ΡƒΠΆΠ΅ Π·Π°Π±Ρ‹Π», ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π» исходноС api ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒβ€¦

2. БистСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы

А Π²ΠΎΡ‚ это Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ кСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ тСстировщики Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…. Или тСстировщики, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ своСй систСмы с Ρ‡ΡƒΠΆΠΎΠΉ.

Одна систСма Π΄Π΅Ρ€Π³Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· api ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы. Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы. Или Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² эту систСму.

Допустим, я Ρ€Π΅ΡˆΠΈΠ»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ подсказки ΠΈΠ· Π”Π°Π΄Π°Ρ‚Ρ‹ ΠΊ своСму ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‡ΠΈΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π»Π΅Π³ΠΊΠΎ Π²Π²Π΅Π» адрСс доставки.

Π― ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽ подсказки ΠΏΠΎ API. И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ адрСс Π½Π° ΠΌΠΎΠ΅ΠΌ сайтС, ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ‚ подсказки ΠΈΠ· Π”Π°Π΄Π°Ρ‚Ρ‹. Как это получаСтся:

  • Он Π²Π²ΠΎΠ΄ΠΈΡ‚ Π±ΡƒΠΊΠ²Ρƒ Π½Π° ΠΌΠΎΠ΅ΠΌ сайтС
  • Мой сайт отправляСт запрос Π² подсказки Π”Π°Π΄Π°Ρ‚Ρ‹ ΠΏΠΎ API
  • Π”Π°Π΄Π°Ρ‚Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚
  • Мой сайт Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ


Π’ΠΎΠ½ сколько шагов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ! И Ρ‚Π°ΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ символ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ этого взаимодСйствия, Π½ΠΎ ΠΎΠ½ΠΎ Π΅ΡΡ‚ΡŒ.

И, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ кСйс, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ API-ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· SOAP ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, Π² интСрфСйсС Π΅Π³ΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ‚. Π§Ρ‚ΠΎ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π·Π°ΠΊΠ°Π·Π°Π», Ρ‚ΠΎ ΠΌΡ‹ ΠΈ сдСлали Β―\_(ツ)_/Β―

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Users. ΠœΠ΅Ρ‚ΠΎΠ΄ MagicSearch создан Π½Π° основС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… событий. Π₯отя Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅Ρ‰Π΅ Π·Π°ΠΌΡƒΠ΄Ρ€Π΅Π½Π΅Π΅ Π±Ρ‹Π»Π°, я Ρ‚ΠΎ ΠΏΠΎΠ΄ свой сайт подстраивала.

Но Ρ‚ΡƒΡ‚ Ρ„ΠΈΡˆΠΊΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² самой систСмС Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ поиск, просто строка Π²Π²ΠΎΠ΄Π°. Ну, ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ². А Π²ΠΎΡ‚ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½Π° Π±Ρ‹Π»Π° цСлая ΠΊΡƒΡ‡Π° Π΄ΠΎΠΏ возмоТностСй, Ρ‡Ρ‚ΠΎ ΠΈ Π±Ρ‹Π»ΠΎ сдСлано Ρ‡Π΅Ρ€Π΅Π· SOAP-ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» супСр-поиска доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ API, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² интСрфСйсС Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΡ‰ΡƒΠΏΠ°Π΅Ρ‚.

Π’ этом случаС Ρƒ вас ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ Π’Π—, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ API-ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’Π°ΡˆΠ° Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Випичная Π·Π°Π΄Π°Ρ‡Π° тСстировщика, просто Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ стандартным тСстам Π½Π° тСст-Π΄ΠΈΠ·Π°ΠΉΠ½ особСнности тСстирования API, ΠΈ Π΄Π΅Π»ΠΎ Π² шляпС!

(Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π΄ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² API β€” я расскаТу ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅)

3. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅:

  1. Для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹
  2. Для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π³Π° (ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π³Π΄Π΅? На сСрвСрС ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅?)
  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.

РСсурсResourcePOSTPOSTGETGETΠžΠ’ΠŸΠ ΠΠ’ΠšΠPUTDELETEDELETE
/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

  1. УскоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² 10 Ρ€Π°Π·. Π”Π°ΠΆΠ΅ самый Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ API со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ парсинга 1 запрос/сСкунда. Максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ β€” 10 запросов/сСкунда. Π‘ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ввСсти Ρ€ΡƒΠΊΠ°ΠΌΠΈ? РазумССтся, Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ большиС агСнтства с постоянной Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΏΠΎ сСмантикС ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ API.

  2. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π»ΠΈΠΌΠΈΡ‚ΠΎΠ². НСзависимо ΠΎΡ‚ Ρ‚Π°Ρ€ΠΈΡ„Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° API-Π»ΠΈΠΌΠΈΡ‚ΠΎΠ² всСгда большС, Ρ‡Π΅ΠΌ запросов Π² интСрфСйсС. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π·Π° Ρ‚Π΅ ΠΆΠ΅ дСньги, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ большС Π΄Π°Π½Π½Ρ‹Ρ…. Плюс Ρƒ вас ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ Π»ΠΈΠΌΠΈΡ‚Ρ‹ для интСрфСйса.

  3. Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ API, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ нСсколько ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ всСго ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡.

  4. Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ дСньги. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ API, Π²Ρ‹ ΠΏΠ»Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π° Π½Π΅ Π·Π° использованиС Π»ΠΈΠΌΠΈΡ‚ΠΎΠ² вашСго Ρ‚Π°Ρ€ΠΈΡ„Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с API Serpstat

ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия инструмСнта ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 16 ΠΎΡ‚Ρ‡Π΅Ρ‚Π°ΠΌΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Serpstat.

  1. Advertising report β€” выполняСт поиск Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… объявлСний ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„Ρ€Π°Π·Π΅.

  2. Competitors report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„Ρ€Π°Π·Π΅.

  3. Domain history report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ измСнСния видимости ΠΈ количСства Ρ„Ρ€Π°Π· ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρƒ.

  4. Domain info report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΡƒΠΌΠΌΠ°Ρ€Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρƒ (количСство запросов/Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² поискС/контСкстС, Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ измСнСния количСства запросов/Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½Π°).

  5. Domain Keywords report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π² ВОПС поисковой систСмы ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρƒ.

  6. Domain Intersection report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова для Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².

  7. Domain unique keywords report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π΄ΠΎΠΌΠ΅Π½Π° Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ (Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ) Π΄ΠΎΠΌΠ΅Π½Π°.

  8. Domain urls report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ URL-Ρ‹ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈ количСство ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов для URL-Π°.

  9. Keyword info report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ слову (количСство запросов, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π° ΠΊΠ»ΠΈΠΊ, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ, ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ).

  10. Keywords report β€” выполняСт полнотСкстовый поиск ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ слову ΠΈ прСдоставляСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам (количСство запросов, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π° ΠΊΠ»ΠΈΠΊ, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ).

  11. Keyword top report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ послСдний ВОП ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„Ρ€Π°Π·Π΅.

  12. Related keywords report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ запросы.

  13. Suggestions report β€” выполняСт полнотСкстовый поиск ΠΏΠΎ поисковым подсказкам.

  14. URL competitors report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ URL ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ URL.

  15. URL keywords report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„Ρ€Π°Π·Ρ‹ Π² ВОПС поисковой систСмы ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ URL.

  16. URL missing keywords report β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„Ρ€Π°Π·Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π½ΠΆΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Ρ‹, Π½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ URL.

Пошаговая настройка скрипта

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ инструмСнт ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, слСдуйтС инструкции.

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ создайтС копию Ρƒ сСбя Π½Π° дискС. ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ появлСния ΠΊΠ½ΠΎΠΏΠΊΠΈ Configure ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Π½Π΅Π΅. Π—Π°Ρ‚Π΅ΠΌ Β«Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ APIΒ».





    ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для запуска Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ свяТитС Π΅Π³ΠΎ с вашим Gmail-Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠΌ.


  2. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ваш API-Ρ‚ΠΎΠΊΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Serpstat.

Если API-ΠΊΠ»ΡŽΡ‡ для вас нСдоступСн (Π΅ΡΡ‚ΡŒ Ρƒ «План Π’Β» ΠΈ Π²Ρ‹ΡˆΠ΅), ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π·Π° ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΊ нашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅,Β Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² форму заявки дСмонстрации сСрвиса ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Serpstat Ρ‡Π΅Ρ€Π΅Π· online-Ρ‡Π°Ρ‚ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π½Π° сайтС Serpstat. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Ρ‡Π°Ρ‚Π΅ Β«ΠšΠ»ΡŽΡ‡ APIΒ». БпСциалист свяТСтся с Π²Π°ΠΌΠΈ Π² блиТайшСС врСмя.

    БСсплатный доступ ΠΊ API ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Serpstat.Β 

    1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сбора Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½. Π‘ΠΊΡ€ΠΈΠΏΡ‚ автоматичСски подтянСт ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ количСство строк Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ Π΄ΠΎ 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-спСциалистам. БистСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    1. Π‘Π½Π°Ρ‡Π°Π»Π° собираСм ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² с минусами ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ объСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

    1. Π”Π°Π»Π΅Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ нашС Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя.

    2. Бписок ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‚.Π΅. Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ своими ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ запросами.

    3. Π’Π±ΠΈΠ²Π°Π΅ΠΌ Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярныС Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Ρ‹, марпокСтплСйсы.

    РассчитываСм!

    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.

    Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ

    Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос

    .

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *