Програмирање

РЕСТфул – Брзи водич за почетнике

30. октобар 2021

Ако желите да изградите интерфејс апликацијског програма (АПИ) за веб апликације се користи РЕСТфул. Шта је интерфејс апликацијског програма (АПИ)? Апликациони програмски интерфејс је посредник између било које две софтверске апликације. Омогућава две софтверске апликације да безбедно и безбедно комуницирају једна са другом. Типичне АПИ апликације у свакодневном животу користе Фацебоок, коришћење апликација за ћаскање или коришћење апликације за временску прогнозу на мобилном телефону.

Хајде да погледамо један директан пример да бисмо разумели шта је тачно АПИ? Размотрите пример ресторана. Идемо у ресторан и једемо храну по свом избору. Оно што радимо је да посматрамо картицу менија и кажемо конобару о вашим одабраним артиклима са менија. Конобар тада обавештава вашу поруџбину кухињском одељењу и ваша храна се припрема. Након што је храна готова, конобар је служи за ваш сто за вас. Овде је конобар интерфејс између вас и кухињског одељења. Исто се дешава док два система комуницирају.

Интерфејс апликацијског програма (АПИ) је категорисан у четири примарна типа, ОпенАПИ-и, Партнерски АПИ-ји, Интерни АПИ-ји и Композитни АПИ-ји. ОепнАПИ-ју је дозвољен приступ свима, пошто су јавно доступни. У Партнерским АПИ-јима, одређеном кориснику је потребно одговарајуће право за приступ, пошто нису развијени за јавну употребу. Интерни АПИ-ји су посебно дизајнирани за интерну употребу компаније. На крају, композитни АПИ-ји се генерално користе за убрзавање пословања и перформанси компаније.

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

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

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

Преглед садржаја

Шта је РЕСТфул Веб Сервице АПИ?

Пре него што сазнамо шта је РЕСТфул АПИ, прво ћемо знати шта је веб услуга заправо. А веб сервис је скуп стандарда или принципа потребних за дељење или размену података између система. Данас користимо више апликација на нашим мобилним телефонима и десктоп рачунарима. Ове апликације су написане на бројним програмским језицима, а ипак раде на различитим оперативним системима. Веб услуга вам омогућава да приступите одређеној софтверској апликацији на различитим оперативним системима.

РЕСТфул АПИ је АПИ за веб сервис. Укључује колекцију архитектонских стандарда и користи ХТТП протокол за приступ и коришћење одређених података. РЕСТ имплицира Репрезентативни државни пренос . У РЕСТфул АПИ-ју, свака укључена компонента се третира као ресурс. Овим ресурсима можете приступити користећи ХТТП протокол методе.

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

РЕСТфул веб услугу обично користе корисници облака, омогућавајући им приступ и управљање веб услугама. РЕСТ АПИ служи као један од најпожељнијих избора за креирање робусног АПИ-ја. АПИ изграђен коришћењем РЕСТ архитектуре омогућава корисницима да комуницирају са услугама у облаку на управљив начин. Неке од популарних веб локација које користе РЕСТфул веб услугу за прављење својих АПИ-ја су Амазон веб услуге (АВС), Твиттер, ЛинкедИн и Гоогле.

Рад АПИ-ја РЕСТфул веб услуге

Видели смо кратак опис РЕСТфул веб услуге. Сада нас обавестите о раду РЕСТфул АПИ-ја. РЕСТфул АПИ разлаже сваку појединачну трансакцију између било које две апликације на више мањих модула. Овде трансакција подразумева размену података или информација. Сваки модул садржи битне информације о трансакцији. Стога се програмери осећају угодно и флексибилно у изградњи АПИ-ја за било коју веб апликацију.

Данас многе компаније, попут Цлоуд Дата Манагемент Интерфаце (ЦДМИ), АмазонС3, итд., нуде своје посебне моделе за развој АПИ-ја. У веб сервису РЕСТфул АПИ постоје бројне команде за приступ ресурсима. Репрезентација ресурса дефинише стање одређеног ресурса у датој временској ознаци.

ХТТП методе у АПИ-ју РЕСТфул веб услуге

АПИ веб услуге РЕСТфул користи ХТТП протокол за приступ ресурсима и управљање њима. Постоје четири примарне ХТТП методе које се користе у РЕСТфул веб услузи, ГЕТ, ПУТ, ПОСТ, ДЕЛЕТЕ. Хајде да укратко упознамо сваку од ових ХТТП метода.

    ДОБИТИ:Метода ГЕТ омогућава корисницима приступ ресурсима РЕСТфул АПИ-ја. Али, њима се не може мењати или манипулисати. Користећи методу ГЕТ, можете само читати ресурсе.СТАВИТИ:Метода ХТТП ПУТ вам омогућава да измените ресурсе или промените њихова стања. Такође вам омогућава да креирате још један нови ресурс.ПОШТА:Можете користити ПОСТ метод за креирање новог ресурса.ИЗБРИШИ:Метода ХТТП ДЕЛЕТЕ се користи за брисање ресурса.

АПИ РЕСТфул веб услуге подржава неколико формата података, као што су апликација/кмл, апликација/јсон, апплицатион/к-ввв-форм-урленцодед, апплицатион.к-веб+кмл и мултипарт/форм-дата.

Својства и ограничења РЕСТфул АПИ архитектуре

Др Рои Фиелдинг је програмер АПИ-ја РЕСТфул веб сервиса. Испод су нека значајна својства и ограничења РЕСТфул АПИ архитектуре.

Својства РЕСТфул АПИ-ја

  1. РЕСТфул АПИ нуди високе перформансе крајњим корисницима. Када корисник кликне на било коју везу, он или она добијају тренутне резултате. А програмери испоручују све услуге корисницима.
  2. Још једно својство РЕСТфул АПИ-ја је скалабилност. РЕСТфул АПИ редовно пружа услуге упркос повећању или смањењу броја корисника.
  3. РЕСТфул АПИ има униформан интерфејс. Сви ресурси се идентификују коришћењем одговарајућих УРИ-ја. Дакле, овај униформни интерфејс чини РЕСТфул АПИ једноставним.
  4. Следеће својство је променљивост. Свака промена у систему треба да се одвија са лакоћом и удобношћу.
  5. РЕСТфул АПИ архитектура је веома преносива и поуздана.

Архитектонска ограничења РЕСТфул АПИ-ја

За било који АПИ за РЕСТфул веб услугу, доле наведених шест архитектонских услова мора да важи.

  1. Прво архитектонско ограничење за АПИ РЕСТфул веб услуге је да треба да користи униформан интерфејс. Сви РЕСТфул АПИ ресурси треба да се идентификују коришћењем одговарајућих јединствених идентификатора ресурса (УРИ). Мора им се приступити и њима се мора манипулисати само преко четири ХТТП метода, ПУТ, ПОСТ, ГЕТ и ДЕЛЕТЕ.
  2. Клијент и сервер у РЕСТфул АПИ-ју треба да имају прецизан приказ. Клијент управља униформним интерфејсом и прикупљањем захтева. С друге стране, сервер регулише безбедност, приступ подацима и управљање радним оптерећењем. Сервер држи све ресурсе, а клијент захтева ресурсе од сервера.
  3. Још једно архитектонско ограничење за АПИ РЕСТфул веб услуге су операције без стања. Клијент и сервер у РЕСТфул АПИ-ју треба да прате функције без стања. Све операције управљања државом треба да се обављају на страни клијента.
  4. Сви АПИ-ји РЕСТфул веб сервиса треба да обављају кеширање. Ако је представљено да кеширање није могуће, онда само кеширање не треба да се изводи.
  5. Архитектура одређене апликације треба да садржи сервер на више слојева. Један слој не би требало да има никакве информације о другим слојевима, осим о свом непосредном слоју.
  6. Генерално, сервер шаље статичке репрезентације ресурса клијенту у КСМЛ или ЈСОН формату. Такође би требало да пренесе извршни код клијенту када је то потребно.

У даљем сегменту ћемо научити како да генеришемо веб сервис користећи ХТТП методе. Користићемо две ХТТП методе, ГЕТ и ПОСТ, за креирање управљања корисницима. У наставку су неке битне функције које се користе:

  1. Користећи ХТТП ГЕТ метод са празним ПОСТ телом, приказаћемо листу која садржи корисничка имена. Узмите јединствени идентификатор ресурса као /Корисник/Услуга/корисници .
  2. Касније ћемо додати детаље сваког корисника на листу. У ту сврху користићемо ХТТП ПОСТ метод, са ЈСОН стрингом у телу ПОСТ-а. Користите УРИ као /Усер/Сервице/аддУсер .
  3. На крају, приказаћемо детаље о засебним корисницима користећи ХТТП ГЕТ метод. Оставите тело ПОСТ празним и користите УРИ као /Усер/Сервице/гетУсер/:ид .

Подешавање окружења за РЕСТфул веб услуге

За рад са веб услугом РЕСТфул користићемо Јерсеи Фрамеворк . Овај оквир имплементира стандардну спецификацију, названу ЈАКС-РС 2.0 АПИ. Користећи ову спецификацију, можемо да генеришемо РЕСТфул веб услуге. Пре него што кренемо ка Јерсеи Фрамеворк-у, научићемо да подесимо Ецлипсе, Томцат и ЈДК окружење на вашем рачунарском систему. Објаснили смо подешавање сва три окружења на систему прецизним и једноставним корацима.

Како подесити Јава Девелопмент Кит (ЈДК)?

Тхе Јава развојни комплет (ЈДК) је један од основних пакета који се користи за покретање Јава кода. ЈДК пакет у Јави омогућава корисницима да пишу Јава програме. Морате да преузмете овај пакет, назван ЈаваСЕ, са овога веб сајт :

Након преузимања, инсталирајте га уз помоћ датих смерница. Када завршите, морате да поправите ПАТХ и ЈАВА_ХОМЕ променљиве окружења на место где су присутни „јава“ и „јавац“. Генерално, „јава“ је присутна у јава_инсталл_дир/бин, а „јавац“ је присутна у „јава_инсталл_дир“.

За поправљање променљивих окружења ПАТХ и ЈАВА_ХОМЕ на системима Виндовс КСП, НТ или 2000, идите на „Мој рачунар, кликните десним тастером миша на њега и кликните на „Својства“. Приметићете картицу „Напредно“. Кликните на њу. а касније кликните на 'Променљиве окружења.' Промените ПАТХ и ЈАВА_ХОМЕ варијабле окружења са 'јава' и 'јавац' локацијама на систему и кликните на дугме 'ОК'. Подешавање променљиве окружења је завршено.

За Линук и Соларис системе, следите доле наведене кораке. Узмите у обзир да користите Ц шкољку и да сте преузели ЈаваСЕ датотеку на /уср/лоцал/јдк1.7.9_75 локацији. Ажурирајте датотеку „.цсхрц“ следећим командама:

|_+_|

Како подесити Ецлипсе ИДЕ?

Прва ствар коју морате да пратите је да преузмете најновије бинарне датотеке Ецлипсе-а са његовог званичног веб сајт .

Након што преузмете најновије Ецлипсе бинарне датотеке, поставите их на одговарајућу локацију на вашем систему. Узмите у обзир да смо Ецлипсе бинарне датотеке на Виндовс системима лоцирали у Ц:ецлипсе. Ми ћемо лоцирати Ецлипсе бинарне датотеке на /уср/лоцал/ецлипсе локацији за Линук или Уник систем. Након што је поставите на одговарајућу локацију, поправите променљиву ПАТХ на место где сте држали Ецлипсе бинарне датотеке.

Да бисте покренули Ецлипсе, двапут кликните на датотеку ецлипсе.еке или можете укуцати доњу команду у Виндовс командној линији.

|_+_|

Ако користите Ецлипсе на Линук или Соларис систему, користите доњу команду да бисте га покренули.

|_+_|

Ако све прође како треба и подешавање је исправно, апликација се покреће и појављује се екран за писање кода.

Како подесити Апацхе Томцат?

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

Након што преузмете ову најновију верзију Томцат-а, поставите је на одговарајућу локацију у вашем систему.

Узмимо у обзир да смо датотеку Томцат Апацхе поставили на Виндовс систем на локацију Ц:апацхе-томцат-7.0.59. Поставићемо Томцат Апацхе датотеку на /уср/лоцал/апацхе-томцат-7.0.59 локацију на Линук или Соларис систем. Након тога, морате да поправите променљиву окружења ЦАТАЛИНА_ХОМЕ на место где сте држали преузету Томцат Апацхе датотеку.

Можете покренути апликацију Томцат на свом Виндовс систему тако што ћете кликнути на датотеку стартуп.бат. Такође можете користити следећу команду за покретање апликације Томцат.

|_+_|

или

|_+_|

Ако користите апликацију Томцат на Линук или Соларис систему, морате да пратите било коју од доле наведених команди да бисте је покренули.

|_+_|

или

|_+_|

Када је све у реду, појављује се екран где можете написати код и покренути га. Све подразумеване апликације са Томцат-ом биће доступне ако посетите доле веб сајт :

Комплетне информације о Томцат конфигурацији и покретању програма на њему доступне су на веб сајт .

Ако желите да зауставите Томцат апликацију на Виндовс систему, откуцајте било коју од следећих команди.

|_+_|

или

|_+_|

Можете да унесете било коју од две доле наведене команде за гашење Томцат апликације.

|_+_|

или

|_+_|

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

Након подешавања ЈДК, Ецлипсе и Томцат Апацхе, сада можете да пређете на подешавање Јерсеи Фрамеворк-а. Следите доленаведене смернице узастопно да бисте преузели Џерси оквир.

  1. Прво, морате да одлучите који оперативни систем, као што је Виндовс или Уник, да бисте инсталирали Јерсеи Фрамеворк на њега. Ако изаберете Виндовс систем, преузмите .зип датотеку, а за Уник системе преузмите .тз датотеку.
  2. Следећи корак је преузимање најновијих бинарних датотека Јерсеи Фрамеворк-а са доле веб сајт .
  3. Након што преузмете .зип датотеку на Виндовс систем, потребно је да је распакујете. Претпоставимо да сте преузели датотеку јакрс-ри-2.17.зип. Након распакивања ове датотеке, она обезбеђује структуру директоријума на локацији Е:јакрс-ри-2.17јакрс-ри.
  4. Све библиотеке Џерсија биће у директоријуму Ц:јакрс-ри-2.17јакрс-рилиб, а зависности ће бити присутне на Ц:јакрс-ри-2.17јакрс-риект.
  5. Касније поправите променљиву ЦЛАССПАТХ на место где су присутне ваше библиотеке Џерсија, директоријум Ц:јакрс-ри-2.17јакрс-рилиб. Запамтите да нема потребе да поправљате променљиву ЦЛАССПАТХ за Јерсеи Фрамеворк ако користите апликацију Ецлипсе.

Сада знате како да подесите окружење за РЕСТфул веб услугу. Пратите све горе наведене кораке и бићете спремни да напишете пример Џерсија.

Први пример одмарања – дрес (ЈАКС-РС)

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

Корак 1: Креирајте Јава пројекат

Креирајте Јава пројекат користећи Ецлипсе ИДЕ. Овде ћемо креирати динамички веб пројекат. У наставку су кораци за развијају динамички веб Пројекат у Ецлипсе ИДЕ.

  1. Покрените апликацију Ецлипсе са свог система. Кликните на опцију Датотека, кликните на Ново и изаберите Нови пројекат.
  2. Касније изаберите чаробњак Динамички веб пројекат са листе чаробњака.
  3. Након одабира чаробњака, дајте жељено име свом пројекту, рецимо ФирстРестЕкампле .
  4. Када сачувате име свог пројекта у прозору чаробњака, идите у Пројецт Екплорер и тамо ћете приметити име свог пројекта.

Корак 2: Додајте потребне библиотеке

Након што креирате пројекат и сачувате га под одређеним именом, морате свом пројекту да додате библиотеке и зависности Јерсеи Фрамевоек-а. Навели смо називе јар датотека које треба копирати у ВЕБ-ИНФ/либ директоријум креираног пројекта из зип фасцикле дреса.

  • јакрс-ри-2.17јакрс-риапи
  • jaxrs-ri-2.17jaxrs-riext
  • јакрс-ри-2.17јакрс-рилиб

Да бисте додали горе наведене јар датотеке поменуте у ваш пројекат, кликните десним тастером миша на свој пројекат, ФирстРестЕкампле . Кликните на опцију Буилд Патх, а затим идите на Цонфигуре Буилд Патх. Овде ћете видети прозор који приказује путању Јава изградње. Поред тога, видећете дугме Додај ЈАР-ове испод менија Библиотеке. Додајте јар датотеке у ВЕБ-ИНФ/либ директоријум.

Корак 3: Креирајте изворне датотеке

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

Овде треба да креирате три различите датотеке у оквиру пакета цом.рестекампле. Назовимо датотеке као ЕмплоиееСервице.јава, Емплоиее.јава и ЕмплоиееДао.јава. У три фајла које сте креирали у оквиру пакета цом.рестекмапле и треба да напишете код. Прво ћемо написати код у датотеку Емплоиее.јава.

Емплоиее.јава

|_+_|

ЕмплоиееДао.јава

|_+_|

ЕмплоиееСервице.јава

|_+_|

У горњој датотеци ЕмплоиееСервице.јава, морате запамтити да смо користили напомену @Патх за одређивање путање за веб услугу. Поред тога, такође смо успоставили путању за специфичну методу веб услуге користећи напомену @Патх.

Корак 4: Креирајте датотеку Веб.кмл

На крају, морамо да креирамо датотеку Веб.кмл. Примарни циљ датотеке Веб.кмл је да додели сервлет Јерсеи Фрамеворк апликацији која се развија.

веб.кмл

|_+_|

Корак 5: Саставите и покрените програм

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

У наставку ћемо показати како да креирате ратну датотеку у Ецлипсе ИДЕ.

  • На Ецлипсе ИДЕ-у идите на опцију Филе, кликните на Извоз -> Ми -> Вар Филе. Тамо морате да изаберете свој пројекат ФирстРестЕкампле и циљни фолдер.
  • Касније ћете морати да лоцирате датотеку ФирстРестЕкампле.вар у Томцат инсталациони директоријум Опције вебаппс директоријум . И покрените апликацију Томцат.

Након што ставите ратну датотеку у Томцат-ов директоријум веб апликација, можете покренути своју апликацију. Користићемо Цхроме екстензију, поштар , за тестирање наших апликација. Следећи корак је постављање свих запослених у ПОШТАР. У ту сврху користите доњи ред кода

|_+_|

За коришћење горње линије кода у Томцат Апацхе-у, користите ХТТП ГЕТ метод. Ево ваше прве апликације за веб услугу која је спремна.

Поруке у АПИ-ју РЕСТфул веб услуге

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

Сада, погледајмо ХТТП захтев и ХТТП одговор у АПИ-ју РЕСТфул веб услуге.

ХТТП захтев

Клијент усмерава ХТТП захтев на сервер. Захтева ресурсе са сервера. Постоји пет примарних делова укључених у ХТТП захтев, глагол, УРИ, ХТТП верзију, заглавље захтева и тело захтева. Следи формат ХТТП захтева.

РЕСТфул

Хајде да укратко опишемо сваки део ХТТП захтева.

    глагол:Глагол у ХТТП захтеву подразумева четири ХТТП методе, ГЕТ, ПОСТ, ПУТ и ДЕЛЕТЕ.Јединствени идентификатор ресурса (УРИ):Следећи део ХТТП захтева је јединствени идентификатор захтева (УРИ). УРИ идентификује сваки ресурс на јединствен начин.ХТТП верзија:Трећи део ХТТП захтева је ХТТП верзија. На пример, ХТТП в1.1, где је в1.1 верзија.Заглавље захтева:Заглавље захтева садржи метаподатке поруке. Метаподаци у заглављу захтева су присутни у пару кључ/вредност. Може да прикупља информације, као што су тип клијента, подешавања кеша, формат поруке итд.Тело захтева:Тело захтева у ХТТП захтеву подразумева представљање ресурса.

ХТТП одговор

Када сервер добије ХТТП захтев од клијента, он одговара клијенту са ХТТП одговором. ХТТП одговор укључује четири значајна дела, код одговора, ХТТП верзију, заглавље одговора и тело одговора. Испод је формат ХТТП одговора.

имг 617дд1цб36593

Хајде да разговарамо о сваком делу ХТТП одговора овде.

    Код одговора:

Код одговора се такође назива статус. Када клијент затражи ресурс од сервера, код одговора показује његов статус. Ако је статус 404, ресурс није пронађен. Ако је одговор у реду, статус је 200.

    ХТТП верзија:

Други део ХТТП одговора је ХТТП верзија. На пример, ХТТП в1.1, где је в1.1 верзија.

    Заглавље одговора:

Заглавље садржи метаподатке поруке ХТТП одговора у облику пара кључ/вредност. Може имати информације као што су тип сервера, дужина садржаја, подаци о одговорима итд.

    Тело одговора:

Тело за одговор укључује представљање ресурса.

У горњи пример АПИ-ја РЕСТфул веб услуге, ставили смо хттп://лоцалхост:8080/ФирстРестЕкампле/рест/ЕмплоиееСервице/емплоиеес .

У ПОСТМАН-у, користећи ХТТП ГЕТ метод. Када се захтев пошаље методом ГЕТ, добићемо КСМЛ поруку на следећи начин. Да бисте видели КСМЛ одговор, морате да кликнете на дугме Преглед.

|_+_|

Ресурс у АПИ-ју РЕСТфул веб услуге

У АПИ-ју РЕСТфул веб услуге, сваки садржај се третира као ресурс. Клијент захтева ресурс, а сервер обезбеђује приступ одређеном ресурсу који захтева клијент. Након давања приступа, клијент може да измени или промени ресурс. Ресурс могу бити ХТМЛ странице, слике, текстуалне датотеке или пословни подаци.

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

Репрезентација ресурса у РЕСТ архитектури

Ресурси у РЕСТ архитектури су представљени у КСМЛ или ЈСОН форматима. Можете третирати РЕСТ ресурс као ентитет у бази података или као објекат у објектно оријентисаном програмирању. Прво, ресурс се идентификује помоћу његовог јединственог идентификатора ресурса (УРИ). Касније се одлучује о стандардном формату за представљање ресурса. Када клијент затражи ресурс, сервер прослеђује ресурс у облику који је одредио клијент.

У нашем РЕСТфул примеру изнад, имамо „запосленог“ као ресурс. Хајде да видимо како је ресурс „запосленог“ представљен коришћењем КСМЛ обрасца.

|_+_|

Сада ћемо приказати исти ресурс „запосленог“ у ЈСОН облику.

|_+_|

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

Када је ресурс представљен у било ком формату, постоје неки предуслови које треба узети у обзир. Формат ресурса треба да буде разумљив, потпун и повезив. Клијент и сервер у РЕСТ архитектури треба брзо да потврде формат представљања ресурса. Било који облик који одаберете за представљање ресурса, требало би да пружи потпуне информације о ресурсу. Формат представљања ресурса треба да омогући везу са било којим другим ресурсом.

Већина програмера користи ЈСОН или КСМЛ образац за представљање ресурса у РЕСТ архитектури. Данас су доступни бројни алати за модификацију ЈСОН или КСМЛ података.

Адресирање у РЕСТфул Веб Сервице АПИ-ју

Адресирање у РЕСТ архитектури подразумева лоцирање ресурса који су присутни на серверу. Знамо да се ресурси идентификују по њиховим јединственим идентификаторима ресурса (УРИ). Формат јединственог идентификатора ресурса је следећи:

:////

УРИ лоцира одређени ресурс на серверу. У нашем горњем примеру, УРИ је

|_+_|

Користили смо ХТТП ГЕТ метод за горњи УРИ.

Можда се питате како се УРИ генерише. Водићемо вас са неким једноставним правилима у изградњи УРИ-ја за било који ресурс у РЕСТ архитектури.

  1. Када дефинишете ресурсе у својим веб услугама, увек користите облик за множину. У горњем примеру РЕСТфул веб апликације, направили смо ресурс „корисници“.
  2. Морате се уверити да име вашег ресурса не садржи никакав размак или посебан симбол, као што су %, $, @, итд. Можете користити цртицу (-) или доњу црту (_) у називу ресурса. На пример, исправно име ресурса је ефективни_запослени, а не ефективни@запослени.
  3. У веб сервису РЕСТфул, УРИ-ји не разликују велика и мала слова. Али, увек је боље задржати УРИ малим словима.
  4. Уверите се да користите било који од ХТТП глагола или метода за извођење операција над ресурсима. У горњој РЕСТфул апликацији користили смо метод ХТТП ГЕТ.
  5. УРИ би требало да буде јавно објављен, пошто су веб сервиси јавни сервиси.

Хајде да погледамо пример доброг и лошег УРИ-ја за преузимање запосленог.

Лош УРИ

|_+_|

Добар УРИ

|_+_|

Јава(ЈАКС-РС) у РЕСТфул АПИ-ју веб услуге

ЈАКС-РС подразумева Џакарта РЕСТфул Веб Сервицес. Раније је био познат као Јава АПИ за РЕСТфул веб услуге. ЈАКС-РС је АПИ заснован на Јави који омогућава корисницима да креирају веб сервисе засноване на РЕСТ архитектури. Најновија ЈАКС-РС верзија је 2.0, објављена 2013. Овај АПИ заснован на Јава користи напомене из Јава СЕ 5, чинећи развој и примену веб сервиса лакшим за управљање.

ЈАКС-РС спецификације

Следе неке уобичајено коришћене напомене за мапирање ресурса као ресурса веб услуге.

    @ДОБИТИ:Ова спецификација ЈАКС-РС се користи за преузимање ресурса.@Путања:@Патх подразумева путању класе или методе укључене у веб сервис.@ДЕЛЕТЕ:Ресурс @ДЕЛЕТЕ брише одређени ресурс.@ПОШТА:Горе наведена спецификација у ЈАКС-РС ствара нови ресурс.@СТАВИТИ:Ова ЈАКС-РС спецификација се користи за ажурирање постојећег ресурса.@Потрошња:@Цонсумес ЈАКС-РС спецификација представља тип ХТТП захтева.@ГЛАВА:Друга ХТТП метода у ЈАКС-РС је @ХЕАД, која нуди информације о томе да ли је метода доступна или не.@КуериПарам:Горња спецификација се користи за комбиновање параметра упита и параметра који се прослеђује методи.@Производи:Спецификација @Продуцес приказује тип ХТТП одговора.@ПатхПарам:Горња ЈАКС-РС спецификација се користи за комбиновање вредности путање са параметром који је прослеђен методи.@ЦоокиеПарам:@ЦоокиеПарам комбинује колачић са параметром који је прослеђен методу.@МатрикПарам:Ова ЈАКС-РС спецификација комбинује ХТТП матрични параметар са параметром који се прослеђује методи.@ФормПарам:Вредност обрасца се комбинује са параметром који се прослеђује методи помоћу @ФормПарам.@ХеадерПарам:ХТТП заглавље је повезано са параметром који се прослеђује методи помоћу @ХеадерПарам.@Контекст:@Цонтект подразумева контекст ресурса.@Задана вриједност:Горња ЈАКС-РС спецификација додељује параметар прослеђен методу са подразумеваном вредношћу.

Бездржавност и кеширање АПИ-ја РЕСТфул веб услуге

Апатриди

Бездржавно стање подразумева да стање клијента не би требало да буде присутно на серверу. Клијент шаље свој контекст серверу. По пријему контекста од клијента, сервер чува контекст и користи га за даље клијентове захтеве. На пример, клијент шаље идентификатор сесије серверу. Дакле, сервер га чува за идентификацију сесија.

Предности:

Испод су неке значајне предности апатридије у АПИ-ју РЕСТфул веб услуге.

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

Против:

  • Пошто сервер не садржи стање клијента, веб сервис захтева више података из сваког захтева од клијента.

Кеширање

Клијент држи неке ресурсе са сервера у смислу одговора. Стога, клијент не мора више пута да захтева од сервера исти ресурс. Ово се зове кеширање. На основу информација о кеширању одређеног ресурса које нуди сервер, клијент одлучује да ли ће кеширати ресурс за одређено време или га никада неће кеширати.

Постоји заглавље контроле кеша које се састоји од пет значајних делова, јавног, приватног, максималног узраста, без кеширања/без складиштења и мора се поново потврдити. Хајде да видимо опис сваког дела испод.

    Јавно:Било која компонента може кеширати ресурс који је јавни.Приватно:Нико не сме да кешира ресурс. Само клијент и сервер могу да кеширају ресурс.максимални узраст:Елемент максималне старости се израчунава у секундама. Подразумева колико секунди је кеширање ресурса важеће. Када истекне максимално време, клијент мора поново да затражи ресурс.без кеша/без продавнице:Клијент не може да кешира ресурс.мора се поново потврдити:Сервер мора поново да потврди ресурс када се заврши максимално време за кеширање.

За конфигурисање кеша клијента, одговор сервера укључује следећа заглавља:

    Датум:Датум и време креирања ресурса су представљени у заглављу Датум.Контрола кеша:Заглавље контроле кеша надгледа кеширање.Старост:Старост је представљена у секундама. То је време када се ресурс прима са сервера.Последња измена:Ово заглавље приказује датум и време када је ресурс последњи пут ажуриран.Истиче:Ово заглавље имплицира датум и време истека кеширања.

ХТТП методе и њихове операције у РЕСТфул АПИ-ју

У претходном одељку видели смо ХТТП методе и њихову употребу. Овај сегмент ће посматрати ХТТПС методе, њихове операције и тип операције у РЕСТ архитектури.

    ДОБИТИ:

Метод ГЕТ ХТТП у горњем примеру РЕСТфул апликације се користи за добијање листе запослених. Користили смо УРИ за ГЕТ метод као у наставку:

|_+_|

Метода ХТТП ГЕТ преузима листу запослених. Дакле, има тип операције само за читање.

Такође можемо користити метод ГЕТ за преузимање Ид 1 запосленог. УРИ за преузимање Ид 1 запосленог је,

|_+_|

Ова операција је такође типа само за читање.

    ПОШТА:

У нашем примеру РЕСТфул апликације, користили смо ХТТП ПОСТ метод за убацивање запосленог који има ИД 2. УРИ за уметање запосленог за ИД 2 је,

|_+_|

Горњи тип операције није идемпотентан.

    ИЗБРИШИ:

Можемо да користимо ХТТП ДЕЛЕТЕ метод за брисање запосленог са ИД-ом 1. Испод је УРИ за брисање запосленог са ИД-ом 1.

|_+_|

Операција ДЕЛЕТЕ је идемпотентног типа.

    ГЛАВА:

Метода ХЕАД у РЕСТ архитектури се користи за враћање ХТТП заглавља. Не пружа ХТТП тело. За наш горњи пример запосленог, можемо користити УРИ испод.

|_+_|

Ова операција је типа само за читање.

    СТАВИТИ:

У горњој апликацији РЕСТ Емплоиее, можемо да користимо ХТТП ПУТ метод за ажурирање запосленог са ИД-ом 2. Користите УРИ испод за ажурирање запосленог са ИД-ом 2.

|_+_|
    ОПЦИЈЕ:

Методе ХТТП ОПТИОНС вам омогућавају да наведете све операције подржане у веб услузи. За ову операцију можете користити следећи УРИ.

|_+_|

Операција ОПТИОНС је типа само за читање.

Из горе наведених ХТТП метода и њихових операција, можемо закључити да је ГЕТ операција тип само за читање. Операције ДЕЛЕТЕ и ПУТ су идемпотентног типа. Резултат ове две операције остаје исти, чак и ако се изводе више пута.

Закључак

РЕСТфул АПИ је АПИ заснован на РЕСТ архитектури који користи ХТТП методе за приступ и организовање података. Сваки податак у РЕСТ архитектури се сматра ресурсом. Ако желите да научите РЕСТфул АПИ, овај пост је комплетан водич за вас.

Видели смо шта је АПИ РЕСТфул веб услуге, како функционише, ХТТП методе које се користе у РЕСТ архитектури и својства и ограничења РЕСТ архитектуре. Касније смо приказали подешавање окружења за РЕСТфул АПИ. У подешавању окружења РЕСТфул АПИ, поставили смо ЈДК окружење, Томцат Апацхе, Ецлипсе ИДЕ и Јерсеи Фрамеворк. Можете посматрати једноставан пример РЕСТфул апликације у овом водичу.

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