РЕСТ (Репресентатионал Стате Трансфер) АПИ — који се понекад назива и РЕСТфул АП — је АПИ који користи ХТТП захтеве за приступ и коришћење ресурса.

Ови ресурси су често представљени у ЈСОН формату, мада се у неким приликама користе КСМЛ, текст и ХТМЛ формат. РЕСТ АПИ-ји су постали стандардни начин за апликације да размењују податке преко мреже путем ХТТП метода као што су ГЕТ, ПУТ, ПОСТ и ДЕЛЕТЕ. Они олакшавају креирање, читање, ажурирање и брисање ресурса који се обично називају ЦРУД операције.

Овај водич истражује како можете да користите Ноде. ЈС за креирање једноставног ЦРУД Рестфул АПИ-ја.

Шта треба да пратите

Уверите се да имате инсталиран Ноде.јс на вашој локалној машини. Трцати чвор -в да проверите да ли је Ноде. ЈС је инсталиран. Ова команда би требало да врати број верзије.

Повезан: Како инсталирати Ноде.јс на Виндовс

Такође би требало да имате радну инстанцу свог фаворита текст едитор (нпр. ВС код).

Подешавање пројекта

Направите фасциклу за своју апликацију и идите до ње. На терминалу и у директоријуму који сте управо креирали, иницијализујте пацкаге.јсон трчањем нпм инит.

instagram viewer
$ нпм инит -и 

Тхе пацкаге.јсон ће вам помоћи да инсталирате и управљате нпм пакетима. Тхе флаг креира датотеку пацкаге.јсон користећи подразумеване опције без потребе да подешавате појединачне детаље. Излаз на вашем терминалу би требао изгледати овако. Имајте на уму да ће име бити другачије у зависности од тога како сте дали име фасцикли.

Подесите сервер

Да бисте креирали сервер, прво инсталирајте Екпресс.јс и Нодемон. Екпресс.јс је чвор. Јс оквир који је дизајниран да олакша развој веб апликација и АПИ-ја. Користићете га да конфигуришите сервер и крајње тачке АПИ-ја. Нодемон је са друге стране развојни алат који ће поново покренути ваш сервер када се ваш код апликације промени.

Покрените следећу команду да бисте инсталирали изразити и нодемон:

нпм и екпресс нодемон 

Затим, да бисте креирали свој сервер, креирајте датотеку и позовите је сервер.јс затим додајте следећи код.

// Захтевај експрес
цонст екпресс = рекуире("екпресс");
// Иницијализујте експресно
цонст апп = екпресс();
цонст ПОРТ = 8080;
// анализира ЈСОН
апп.усе (екпресс.јсон());
// рашчлани УРЛ кодиране податке
апп.усе (екпресс.урленцодед({ ектендед: труе }));
// креирање сервера
апп.листен (ПОРТ, () => {
цонсоле.лог(`Сервер ради на порту ${ПОРТ}`);
});

У горњем коду захтевајте екпресс у свом сервер.јс датотеку и иницијализујте је. Затим конфигуришите експрес да анализира ЈСОН и УРЛ кодиране податке. На крају, креирајте сервер користећи слушај() метод из Експреса.

Повезан: Шта је Екпресс.јс и зашто бисте га требали користити?

Почетак: Креирајте низ за чување корисничких података

Ради једноставности, нећете користити базу података, већ једноставан кориснички низ. У апп.јс додајте следећи код после реда који анализира податке кодиране УРЛ-ом.

цонст корисници = [{
ид: 1,
име: "Јане Дое",
старост: "22",
},
{
ид: 2,
име: "Јохн Дое",
старост: "31",
}];

Повезан: Како направити базу података и колекцију у МонгоДБ-у

Како да подесите руте у Екпресс.јс

Да бисте извршили операције над вашим подацима, потребно је да подесите рутирање. Руте ће одредити како ће ваша апликација одговорити на захтеве упућене одређеној крајњој тачки. Свака рута има ХТТП метод, УРЛ и функцију руковања која рукује ХТТП захтевом и одговором. Да бисте поставили руте, додајте следеће у свој сервер.јс фајл после вашег корисника низ.

апп.пост('/цреате', (рек, рес) => {
// Креирајте корисника
});
апп.гет('/усерс', (рек, рес) => {
// Преузима све кориснике
});
апп.гет('/усер/:усерИД', (рек, рес) => {
// Враћа корисника по ИД-у
});
апп.пут('/усер/:усерИД', (рек, рес) => {
// Ажурирај корисника према ИД-у
});
апп.делете('/делете/:усерИД', (рек, рес) => {
// Избришите корисника по ИД-у
});
апп.делете('/усерс', (рек, рес) => {
// Обриши све кориснике
});

Како извршити ЦРУД операције у чвору. Јс

Морате да креирате функције које ће манипулисати корисничким подацима и вратити одговор у складу са рутом која се подудара. Ове функције ће креирати, читати, ажурирати и брисати корисничке податке.

Повезан: Како извршити ЦРУД операције у МонгоДБ-у

Како креирати новог корисника

Да бисте креирали новог корисника, мораћете да:

  • Проверите да ли је тело захтева празно - ако јесте, пошаљите одговор на грешку.
  • Извуците корисничке податке из тела захтева.
  • Потврдите корисничке податке.
  • Гурните корисничке податке у низ.

Имајте на уму да користите низ само у сврху једноставности. У стварном случају, ви бисте били у интеракцији са базом података.

Уредите своју ПОСТ руту као испод.

апп.пост("/цреате", (рек, рес) => {
// Проверите да ли је тело захтева празно
иф (!Објецт.кеис (рек.боди).ленгтх) {
врати рес.статус (400).јсон({
порука: "Тело захтева не може бити празно",
});
}
// Користите деструктурирање објеката да бисте добили име и старост
цонст { име, старост } = рек.боди;
ако (!име || !старост) {
рес.статус (400).јсон({
порука: "Уверите се да сте послали и име и године",
});
}
цонст невУсер = {
ид: усерс.ленгтх + 1,
име,
године,
};
покушати {
усерс.пусх (невУсер);
рес.статус (201).јсон({
порука: "Успешно креиран нови корисник",
});
} ухватити (грешка) {
рес.статус (500).јсон({
порука: "Креирање корисника није успело",
});
}
});

Како читати кориснике

Да бисте преузели све кориснике, вратите низ корисника у свом одговору.

апп.гет("/усерс", (рек, рес) => {
покушати {
рес.статус (200).јсон({
корисника
});
} ухватити (грешка) {
рес.статус (500).јсон({
порука: "Преузимање свих корисника није успело",
});
}
});

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

Да бисте преузели само једног корисника:

  • Преузмите кориснички ИД из параметра УРЛ-а.
  • Користите нађи() да бисте идентификовали које специфичне корисничке податке тражите.
  • Вратите корисника у одговору.
апп.гет("/усерс/:усерИД", (рек, рес) => {
цонст ид = парсеИнт (рек.парамс.усерИД);
цонсоле.лог (ид);
покушати {
нека корисник = усерс.финд((корисник) => ИД корисника);
ако (!корисник) {
врати рес.статус (404).јсон({
порука: "Корисник није пронађен",
});
}
рес.статус (200).јсон({
корисник,
});
} ухватити (грешка) {
рес.статус (500).јсон({
порука: "Преузимање корисника није успело",
});
}
});

Како ажурирати кориснике

Да ажурирате корисника:

  • Преузмите кориснички ИД са УРЛ-а.
  • Користите нађи() да провери да ли корисник постоји.
  • Користите индекс() да бисте добили индекс корисника на којег се позива.
  • Користите индекс да бисте уредили корисничке податке са подацима послатим кроз тело захтева.
апп.пут("/усерс/:усерИД", (рек, рес) => {
покушати {
цонст ид = парсеИнт (рек.парамс.усерИД);
нека корисник = усерс.финд((корисник) => ИД корисника);
ако (!корисник) {
врати рес.статус (404).јсон({
порука: "Корисник није пронађен",
});
}
цонст усерИДКС = усерс.индекОф (корисник);
усерс[усерИДКС].наме = рек.боди.наме || корисници[усерИДКС].име;
усерс[усерИДКС].аге = рек.боди.аге || корисници[усерИДКС].аге;
рес.статус (200).јсон({
порука: "Успешно ажуриран корисник",
корисник,
});
} ухватити (грешка) {
рес.статус (500).јсон({
порука: "Преузимање корисника није успело",
});
}
});

Како избрисати кориснике

Можете изабрати да избришете једног корисника или све кориснике.

Да избришете једног корисника:

  • Преузмите кориснички ИД са УРЛ-а
  • Користите нађи() да провери да ли корисник постоји
  • Користите финдИндек() да бисте добили индекс корисника на којег се позива.
  • Користите спој () да избришете корисника на том индексу.
апп.делете("/усерс/:усерИД", (рек, рес) => {
покушати {
цонст ид = рек.парамс.усерИД;
нека усерИДКС = усерс.финдИндек((корисник) => ИД корисника);
иф (!усерИДКС) {
рес.статус (404).јсон({
порука: "Корисник није пронађен",
});
}
усерс.сплице (усерИДКС, 1);
рес.статус (200).јсон({
порука: "Успешно обрисан корисник",
корисници,
});
} ухватити (грешка) {
рес.статус (500).јсон({
порука: "Брисање корисника није успело",
});
}
});

Да бисте избрисали све кориснике, спојите цео низ.

апп.делете("/усерс", (рек, рес) => {
покушати {
усерс.сплице (0, усерс.ленгтх);
рес.статус (200).јсон({
порука: „Сви корисници су успешно избрисани“,
корисници,
});
} ухватити (грешка) {
рес.статус (500).јсон({
порука: "Брисање корисника није успело",
Икс,
});
}
});

Сазнајте више о РЕСТфул АПИ-јима

Овај водич говори о томе како да направите основни РЕСТфул АПИ у Ноде-у. ЈС. Научили сте како да креирате Екпресс сервер, подесите руте и коначно, креирате функције руковаоца које комуницирају са вашим подацима путем ХТТП захтева/одговора.

Међутим, постоје неке суштинске теме које овде нису обухваћене и које бисте требали даље истражити, укључујући како да повежете своју апликацију са базом података као што је МонгоДБ и како да обезбедите руте.

Како МонгоДБ база података може боље да организује ваше податке

МонгоДБ (од „хумонгоус“) је база података оријентисана на више платформи која се користи као алтернатива МиСКЛ-у. Али шта то значи?

Реад Нект

ОбјавиТвеетЕмаил
Повезане теме
  • Програмирање
  • ЈаваСцрипт
  • АПИ
О аутору
Мари Гатхони (2 објављена чланка)

Мери Гатони је програмер софтвера са страшћу за стварање техничког садржаја који није само информативан већ и привлачан. Када не кодира или пише, ужива у дружењу са пријатељима и на отвореном.

Више од Мари Гатхони

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили