Акиос је веома омиљена опција за извршавање ХТТП захтева у ЈаваСцрипт-у. Научите како да то ефикасно урадите уз помоћ овог свеобухватног водича.

Акиос је ЈаваСцрипт библиотека која пружа једноставан АПИ за слање ХТТП захтева из ЈаваСцрипт кода на страни клијента или Ноде.јс кода на страни сервера. Акиос је изграђен на ЈаваСцрипт-овом Промисе АПИ-ју, који асинхрони код чини лакшим за одржавање.

Почетак рада са Акиос-ом

Можете да користите Акиос у својој апликацији помоћу мреже за испоруку садржаја (ЦДН) или инсталирањем у свој пројекат.

Да бисте користили Акиос директно у ХТМЛ-у, копирајте ЦДН везу испод и уметните је у одељак заглавља ваше ХТМЛ датотеке:

<скриптасрц=" https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js">скрипта>

Овим приступом можете користити Акиос и његове ХТТП методе у телу ваших ХТМЛ скрипти. Акиос такође може користите РЕСТ АПИ-је у оквиру као што је Реацт.

Да бисте користили Акиос у пројекту Ноде.јс, инсталирајте га у директоријум пројекта користећи нпм или иарн менаџер пакета:

нпм инсталл акиос
# или
предиво додати акиос

Након инсталације, можете почети да користите Акиос у свом ЈаваСцрипт пројекту:

конст акиос = захтевају('акиос');

Уз овај водич, радићете са бесплатним ЈСОНПлацехолдер АПИ. Иако овај АПИ има скуп ресурса, ви ћете користити само /comments и /posts крајње тачке. Крајње тачке су специфичне УРЛ адресе којима се може приступити ради преузимања или манипулације подацима.

Израда ГЕТ захтева са Акиос-ом

Постоји више начина да направите ГЕТ захтев користећи Акиос. Међутим, синтакса углавном зависи од преференција.

Један од начина да направите ГЕТ захтев је коришћење акиос() метод са објектом који специфицира метод захтева као добити и УРЛ на који треба послати захтев.

На пример:

конст акиос = захтевају("аксиос");

акиос({
метод: "добити",
урл: " https://jsonplaceholder.typicode.com/comments",
})
.онда((рес) => {
конзола.лог (рес.дата);
})
.улов((ерр) => {
конзола.еррор (ерр);
});

Овај пример ствара обећање користећи модел асинхроног програмирања уланчавањем .онда() и .улов() методе. Обећање бележи одговор на конзоли када је захтев успешан и бележи поруку о грешци ако захтев не успе.

Акиос такође пружа лакши начин за прављење ГЕТ захтева који елиминишу потребу за прослеђивањем објекта уланчавањем .добити() метод за акиос инстанце.

На пример:

акиос
.добити(" https://jsonplaceholder.typicode.com/comments")
.онда((рес) => {
конзола.лог (рес.дата);
})
.улов((ерр) => {
конзола.еррор (ерр);
});

Прављење ПОСТ захтева са Акиос-ом

Прављење ПОСТ захтева са Акиос-ом је слично прављењу ГЕТ захтева. Помоћу овог захтева можете послати податке серверу.

Исечак кода у наставку је пример како се користи Акиос' .пошта() метод:

акиос
.пошта(" https://jsonplaceholder.typicode.com/comments", {
име: "Џексон Смит",
емаил: "јсмитх@екампле.цом",
тело: "Ово је уметничко дело.",
})
.онда((рес) => {
конзола.лог (рес.дата);
})
.улов((ерр) => {
конзола.еррор (ерр);
});

Код шаље ПОСТ захтев ЈСОНПлацехолдер АПИ-ју да би направио нови коментар. Тхе акиос.пост метод шаље податке у /comments крајња тачка.

Подаци послати у захтеву су објекат са а име, емаил, и тело имовина. Ако је захтев успешан, онда метод евидентира податке одговора на конзоли. А ако постоји грешка, улов метод евидентира грешку на конзоли.

Прављење ПУТ/ПАТЦХ захтева са Акиос-ом

Можете користити ПУТ или ПАТЦХ захтев да ажурирате постојећи ресурс на серверу. Док ПУТ замењује цео ресурс, ПАТЦХ ажурира само наведена поља.

Да бисте направили ПУТ или ПАТЦХ захтев са Акиос-ом, морате да користите .ставити() или .закрпа() методе респективно.

Ево примера како да користите ове методе за ажурирање емаил својство коментара са ИД-ом 100:

конст акиос = захтевају("аксиос");

акиос
.добити(" https://jsonplaceholder.typicode.com/comments/100")
.онда((рес) => {
конзола.лог (рес.дата.емаил);
})
.улов((ерр) => {
конзола.еррор (ерр);
});

// Излаз:
// 'Леоне_Фаи@оррин.цом'

акиос
.закрпа(" https://jsonplaceholder.typicode.com/comments/100", {
емаил: "донаимилин@етхер.цом",
})
.онда((рес) => {
конзола.лог (рес.дата.емаил);
})
.улов((ерр) => {
конзола.еррор (ерр);
});

// Излаз:
// 'донаимилин@етхер.цом',

Овај програм прво поставља ГЕТ захтев до крајње тачке " https://jsonplaceholder.typicode.com/comments/100". Затим евидентира емаил својство коментара са ИД-ом 100 на конзолу. Правимо ГЕТ захтев да бисте могли да видите шта се променило након подношења ПАТЦХ захтева.

Други захтев је ПАТЦХ захтев за исту крајњу тачку. Овај код ажурира адресу е-поште коментара на донаимилин@етхер.цом.

Израда захтева за ДЕЛЕТЕ помоћу Акиос-а

Можете користити ИЗБРИШИ захтев за брисање ресурса на серверу.

Узмите следећи пример како да користите .делете() метод за брисање ресурса са сервера:

акиос
.делете(" https://jsonplaceholder.typicode.com/comments/10")
.онда((рес) => {
конзола.лог (рес.дата);
})
.улов((ерр) => {
конзола.еррор (ерр);
});
//Output:
// {}

Евидентирањем празног објекта на конзолу, горњи код показује да је обрисао коментар са ИД-ом 10.

Прављење истовремених захтева са Акиос-ом

Можете преузети податке са више крајњих тачака одједном користећи Акиос. Да бисте то урадили, потребно је да користите .све() методом. Овај метод прихвата низ захтева као свој параметар и решава се тек када примите све одговоре.

У следећем примеру, .све() метода преузима податке са две крајње тачке истовремено:

акиос
.све([
акиос.гет(" https://jsonplaceholder.typicode.com/comments? _лимит=2"),
акиос.гет(" https://jsonplaceholder.typicode.com/posts? _лимит=2"),
])
.онда(
акиос.спреад((коментари, постови) => {
конзола.лог (цомментс.дата);
конзола.лог (постс.дата);
})
)
.улов((ерр) =>конзола.еррор (ерр));

Горњи блок кода истовремено шаље захтеве и затим прослеђује одговоре на .онда() методом. Акиос'с .ширење() метода раздваја одговоре и додељује сваки одговор својој променљивој.

Коначно, конзола евидентира података својство два одговора: коментара и постова.

Пресретање захтева са Акиос-ом

Понекад ћете можда морати да пресретнете захтев пре него што стигне до сервера. Можете користити Акиос' пресретачи.рекуест.усе() метод пресретања захтева.

У следећем примеру, метода бележи тип захтева на конзоли за сваки захтев који се упути:

акиос.интерцепторс.рекуест.усе(
(конфигурација) => {
конзола.Пријава(`${цонфиг.метход} постављен захтев`);
повратак цонфиг;
},
(грешка) => {
повратакОбећај.рејецт (грешка);
}
);

акиос
.добити(" https://jsonplaceholder.typicode.com/comments? _лимит=2")
.онда((рес) =>конзола.лог (рес.дата))
.улов((ерр) =>конзола.еррор (ерр));

Програм дефинише Акиос пресретач користећи акиос.интерцепторс.рекуест.усе методом. Овај метод узима цонфиг и грешка објекти као аргументи. Тхе цонфиг објекат садржи информације о захтеву, укључујући метод захтева (цонфиг.метход) и УРЛ захтева (цонфиг.урл).

Функција пресретача враћа цонфиг објекат, омогућавајући да се захтев настави нормално. Ако постоји грешка, функција враћа одбијено Обећај објекат.

Коначно, програм поставља захтев за тестирање пресретача. Конзола ће евидентирати тип захтева, у овом случају, ГЕТ захтев.

Акиос има више

Научили сте како да направите и пресретнете захтеве у својим пројектима користећи Акиос. Многе друге функције, попут трансформисања захтева и коришћења Акиос инстанци, доступне су вам као ЈаваСцрипт програмеру за истраживање. Акиос остаје пожељна опција за прављење ХТТП захтева у вашим ЈаваСцрипт апликацијама. Међутим, Фетцх АПИ је још једна добра опција коју можете истражити.