Мазмунга өтүү

Үчүнчү тараптын API'лерин колдонуу

Сабактын башталышы

Үчүнчү тараптын API'лерин колдонуу

Өзүңүз жазбаган кызматтар менен сүйлөшүңүз жана алар бузулганда аман калыңыз

Негизги идея: Реалдуу тиркемелердин көбү баарын өзү жасабайт. Алар HTTP аркылуу башка кызматтарга кайрылат - аба ырайы API'сине, төлөм системасына, GitHub'га, ИИ моделине - жана бул жоопторду өз логикасы менен бириктирет. Муну жакшы жасоо "суроо-талап жөнөтүү" гана эмес: аутентификациядан өтүп, провайдердин чектөөлөрүн сактап, тармак же алыскы сервер начар күндө болгондо да ордуңарда турушуңар керек.
Аягында сиз төмөнкүлөрдү жасай аласыз:
  • Node'дон камтылган fetch менен JSON API'ге кайрылуу,
  • аутентификация баштарын (Bearer токендер жана API ачкычтар) коопсуз жөнөтүү,
  • жыштык чектөөлөрүн (HTTP 429 жана Retry-After) таануу жана сактоо,
  • таймаут, кайталоо жана экспоненциалдык кечигүү менен туруктуу чакырууларды куруу,
  • axios качан fetch'ке караганда өзүн актаарын чечүү.

1. "API'ни колдонуу" чын эле эмнени билдирет

Үчүнчү тараптын API'си - башка бирөөгө таандык HTTP кызматы. Сиз клиентсиз: суроо-талап жөнөтөсүз, алар жооп кайтарат, көбүнчө JSON форматында. Сиздин Node программаңыз алардын маалыматынын же аракеттеринин керектөөчүсү болуп калат.

Салыштыруу. API'ге кайрылуу ресторанда буйрутма берүүгө окшош. Сиз (клиент) менюну (документацияны) окуйсуз, ашкана күткөн форматта буйрутма бересиз (суроо-талап), эгер жай мүчөлөр үчүн гана болсо картаңызды көрсөтөсүз (аутентификация башы). Ашкана ашыкча жүктөлүп, күтүүнү сурашы мүмкүн (жыштык чектөө), тамак түгөнүшү мүмкүн (ката статусу). Кылдат конок мунун баарын пландайт, ар бир буйрутма заматта жана мүчүлүшсүз келет деп ойлобойт.

Node 18'ден баштап браузердик стилдеги fetch функциясы камтылган - пакет керек эмес. Ал Promise кайтарат, ошондуктан аны async/await менен колдоносуз - сизде мурдатан бар көндүмдөр:

// Node 18+ : fetch глобалдуу, импорт керек эмес
const res = await fetch('https://api.github.com/users/nodejs');
const data = await res.json();
console.log(data.name, data.public_repos);

Эки await, эки этап: fetch(...) баштар келгенде бүтөт, ал эми res.json() - бүт дене окулуп, талданганда. Бул эки этапты акылыңызда бөлүк кармаңыз: көп каталар алардын ортосундагы боштукта жашырынат.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө