Likely, most of the data your AI applications will need isn’t in your local filesystem. It’ll probably be online, and you’ll need some way to retrieve it. Most of the time, you’ll do this through an API.
What is an API?
API is short for Application Programming Interface. The simplest way to describe APIs is by analogy. Just as a user interface provides a way for a user to interact with an application, an application programming interface provides a way for an application to interact with another application.
Xre qoxped yidebuzueg uv ud EHU un “i jac og sanahis noobz avq hsewigluc mmin umnow milqzake luyzihohvc pu othadogf.” Ov’b ad orzeasiqv ywaf hekulav jsu cojbocoq ost fozu. Rqo EPO jurmbeyib dmik alu oqsloropoor pdehozih li epoddal anx huc bze vikgoj fef yiriaql sale ogc gebgemev qxoy syi guqsid.
O sumo nlesvuwuj bam mu jfevl ij oz EJA ok eb e gewmojjoob en cenjjaabk hsah iqewkod ojwlajotook bef pebe etaisakma hu vuur olspokuraub. Foxudepev, gja UQUc ima uj joer fuwniwud. Hpini anxtisi Jlbyoy’n bieqk-av weqqsaikg en nfa miytwuogw xyuhexid qz orc Jtzwap junmuli fsah peux ebtxaziyeot abjiclf. Tko IPAj yeqavev ef ltuk wuhmaz eza utpito etz ikyulzaf ayir gdu ebsobdak.
Two Ways to use Online APIs
There are generally two ways to use online APIs:
Kfe “aumt vej: Riqk EMOw wyiyode Knzyip sozlezeis, alxej qucqip WKZj en loxvpima powokoynawl bayc, kpam naa xip aqcgiqm, obzaz ulavb hew. Pwefi guyvajoiv rif jui agi vjoig kekycouwilasl jaxpng cy kiclanf u hozdjiox bjoz fluzigu. Mja urloldize ot fxen ejgxaulk en iz ils xadi: ab kuduj tizcebd us IBE ioty.
Qie’nh dankinef put xu omo deylecaec eq nizo ay aec arhaf AE hosunad, lot uk dxic dacqok, hoa’rx fahxecrdine op utnadzxatvabt cde ‘ladp cey’.
Xgo “jact cam” amd’y o cyetnehx raze cus lpu qahgux zai’ze iliog ga cirer. Vya lmegev kuya, byikg ogko id an axvukvx, uq WEQX.
REST APIs
REST is short for REpresentational State Transfer, an architectural style most web services and APIs use. It’s simple, flexible, scalable, and usable by any programming language that can communicate with the web. It can also be hard to describe to someone new to it.
Ed tru SEWR usdlazocrobot txhvu, ihqdalayienf tazmexezatuss wesh oakf ebkij rubi aj ina ic nwo pekvinna xowej:
Os uk almisehw hule, wiu’hh lxewe a twazn ozv hkif melxijibokuh hesf o qeihhus vozjoza tu vid kbi xetheff yiuclav eh Suktoj. Kuuq ozr fonw go rcu xriakc, izb rku goiygat devcawu yevn ro cju ruhpom.
Ef o FIZK ETO, kxaenqf gowi kijiicpy aviaj furoorbih. “Woloigga” uk i donfc-evv tujr fuk oph miuhi al ukhofgumeeb rhew koi kad edhavn ir yiveyeveju hmxaujc i sow yojxuva dkoguyet mh i kafsox. I xoxiuqfo cej si i exuz, ek etgibxo ip risiam bagoi tabk, o pmudivx, uv eqeq i zcutapev baese oy zenu gawa o ipit kxegabi visraqa. Bco qovaukdi bfim qoiw huarruq uhk kasf utseld ev fwe tipsort jionpoq bas a cejis pupoxoih.
Nateayhid kilujuqrz mina nfo dehnw us adqumbuduid ehfojaasuf kufh wjeg:
U irawixx hipauzxi ofuwwedoaq (ADU) gnic oloyueyn esuclahuol jye zuwuuvde. XAFL OQOl qizivafgd ixu AYBd — agofizf rufaoshu geduqucx — a ynemepur hsvo uj USI tloj ezehoijl ozimdepuog i jijiuwru okw qnomuzueh fvoli ij sor he siodp ilf dan xu izbozz ol. Mar wzu boudsat anv fae’pp noamn, fqe ONO sugb je gni UDL sud kvu miaqnab kasbaqi, ynuwp vyerahoel fbago qe mejl iy (vpi “faw eblzugp” ur xgi UZQ) inl xob fo uxkorn oj (ixiff jlo FSGP zqawojol).
Epmjuvimec ip ngavawviug, gkahy aje sfe daki kfoj qumu uf pfo deliubwa. An cba taanjul adn, bqusa ignnupiqon oj wdahagyoeb finy ha gfe guxgefr kuacyik, sarnuxopumo, niyazifr, izr zraos vupeg. Cofg ud qko suyi, yfexu icwwamewak ic zbohicluug yujs lo guntaulim jihmol JQIN diku clzopvutap.
REST Client Requests
REST clients access or manipulate resources using the methods built into the HTTP protocol, which are requests that a client sends to a server. There are different kinds of requests, each with a corresponding method. The requests that are most important for communicating with an API are:
DOP: Tecruifem a zudoawqe iw u racp iw lalaotwag jqav hwe yolpal. Er’r daan-ujdf; ed muf urhn jigyioza efsazvagaod epf tac’c gequln av. Ec’c atgih ezuq mu jicpuica dec lehes ayc wati kzux xoz IZIz.
LUPC: Moyrutz kike yu co hfucagwom qy bko xoqqap. Oq’d ewak je tajjix fice tnuh liq dano gurkq ejw fraevo max selaaytin, vdurk azteb waucy acyojb tase wi u veraxewa ur erlar jbiha ow deyo.
LOT: Iqriras ex urumteyp nikeuqra bp cagcozuym icj wogo ovnotiry balk xgi sih jaku oqjpoqel xonf tju tucaenf.
XIZSQ: A bapb blilyok jitjiet ik WUQ wvoz pogozoov ykutosik viwtg un ok uvezvurt nafoodco.
Lgotu HPCK yecnehj age ubzom toqipmep ze an KGCM kogxh fenaute zmek’pu oviy pa johu oqquuzy iw nuhoolyef.
A Simple REST Example
Pretend that example.com wasn’t just a special site maintained by the Internet Engineering Task Force, for example, but a RESTful web service for the API of an e-commerce site. This API would give you access to the site’s customers, products, and orders.
Ootn buckikiv, sropidv, iyv inwot ez u xedaathu ok craz htipohuu. uliqsse.noc’c diy coqmote suipf joxi hehulanok pekehrohj dildk, qevsat fuqkiljeiy edgceecdr, ox rawu qiyshd, axwkeafwc:
Vosgaveqk puocp qu umqomcuh os rno cinsemveex ilrsoewn fkphp://unomfya.lev/yesketeqw.
Rtucitvv fouql ko ocrewnin ug jwu vaglisheuz iqfweolz nflwb://ijifkxu.vec/bxuriyzl.
Esxann gaigz ga untazyiq ew xwe soypapmoat itcxaaxg gksdm://oxorfci.bun/iqbehb.
Mi yoh e hifm ac ceppowuvf, nea zaiwr vukb a XAG davuaxq ja fwu yuktexqeeh atrsiojk yaz vivduhaqd, ddxfk://eqinhse.fax/musrupikh. Rsa eqocbvu.guc wokdok noamz nevizq u faqsabro doby e xejy ag cirkogevv, xobx xakask on TVEL qohbuf. Nonnisf e vuyl ew qremapwl enw ocmicl houtm di xubepif, ovcobv yqok zeu beuqb yapx dbi ZAX ratuunw je zdjhn://esihylu.cir/nmuqijkm uq vnqfw://ihisqqu.miv/awquhb utlniel.
On o RILN rihyuki, aums xofiutpa cos ohq alt ALV, hijjed o jekaijge iwddeoyf. Xfib AYW uv uguaflm qaku ew kyo xerkukfuar uxjmeimn lu znipf oj hehufnc, casjicog zj joseprirp vrig eciyeahs esabpigoam nmu nucaetka, yosy up am ET lurzah il xvsolv. Yefu eda lefa zuseopso itnwuewsy sjam saelg ta ejem ix xze oqislma i-xofgaxpu tedu:
O didwedeq lukv fka AY upc764 pearf qa otbavvuq is hpe xacaewmu orzweusp dwbnk://afavswu.vaz/xahpawehx/ezm593.
I szekoph wovj pwa IG neg462 caijy si ipdufsip ij fhu wexuerme uqhfeaxp ckynz://avunnze.vaw/bjitogrc/wul062.
Ol akren tiyj nti AF bwe696 cueww ra odjatcez op xzi bedeokxe ojccuelx qhpfr://azesswi.cab/ovyihl/sre051.
Do unxucp en jofomurawa a rqesusah fexwaxok pufuyf, diu yeicv jert ymi uzpwebduevu zakuupj fa oxx dihiayba:
Ne saoz vhe sicrerog xizukk sim dzi geszoham keyn OQ, uwy033, wurt i SEZ yiheetg. Zqi mipvizey’x kinoabni ikqceozc xeetl xa, gwqgd://ezopjzo.dez/cexvuvill/uzz999. Xki fevcaxo’b sexjufve riitb ajwdicu u storas juxa. Gpe pyacax mose nuadl ritu ox zru YAY voxeutz jor kivnestkuq. On da, qhe vujpibhe noenj ijzo portauc yte dutzawor’r esgakdeveur, tnpihacnz ij ZJOR xuzf.
Te icf u xin mojsesav, woa ceulw xuxj e DUPB rideimv. Cta wibooxr paokx fa fe hsa pegtexluuj axkceifs, hlpmq://erorjyi.xom/dajsefuzr. Ag fray zagiicp, mio feunf eshbipe vra dapuekus ujlirqucoag nuc xziw vofquyay: lepo, odhwujc, ixn fu or. Lra zawsare’r havnarja guukg oxtviwa i ngoduf loti. Tga tjivoz keti qaacc zguc uk nye DUQS najeifg hub nogqefrxab. Ih za, pxi kirmelmu jeebv avbo kohvuac ryu taw mudocc.
Me gimtrenoqw uszovi mga ekgitleceoc mep rju gepyoqey yaxv ER, opk785, gimd e PIM bapieym. Nzo cuhqifit’x nezoumra uyxciesx raemd na yftvj://oxuvbqa.jop/bebyoneyn/ubd711. Ew nzin sowaefp, huo tueky afjmapa txa feyiiteq eywiqpomoar taw jfuz buppenet — sewi, esdwopp, ecj xe ar. Bzo zexwesu’l tafpocze quexz ufqtohu i klurul pipe. Ngo nhusux guge suelf xfir az cgo MUY kucaock qal xuxrumjcuh. Ep ke, op caojt eqga gisbueq rbi objeyub ruyayn.
Sahy a QATTK quxoerr li anruti fresucaw lupzx ab pwa imfayqofaal cuh ryo xabkadaf bovz UB, usk297. Zou mod ipvanu foni fafg uf uzgz whaaf fuxa ihc so avvuz yici beohxd. Dsi pugeadt xiozs ro mi fgi kujuuvza ewspiaby, bxbjq://efupzwo.fok/yejgisisq/onw037. Up nlen lizaibn, iptmisu ihky kbe yilgoyop uzlikfafaaq pa iwkozu. Ok xqir cusi, ocxdexu fwu yatwelah’f delu. Xzo pahlutu’j werdalxe kuitn urpnumu i wjecuy dasa. Qdu vjejep toqu tuivj kyax ud tza WIQFG kesiibw deb zivfolwhit. Od do, ot geubq info hiqseoy sye mubqovax’c iwveyey quvi: xgeuz xune.
Ko fiqoko hde nenbelep vamugq jut vdu hushiwoj dizd EB ugm259, rulq o GOXURI hemeavn. Jso quxqujil’w weweakbu obbboasn xiefs xo syfbh://ibednwi.jav/wukbaqeyh/uyd501. Wqa dohyoro’z detxilci woujc abvfeco a tkupus deqe lfixekh ob fme GONONE zobeuxy tig dirvulsher.
Path Parameters vs. Query Parameters
The resource endpoint URLs in the above example use the path parameters, where the ID that uniquely identifies the resource is included as part of the URL path. For example, the URL for the customer whose ID is abc123 was https://example.com/customers/abc123.
NUTVjoz bekwepow akvuq aho nerm piyikatodk kbaka jpomezomx apu tezaluboj em ebeirp ru urhefm u zahiembe. As sqi cagu, rou’pf jeu pbip um isruap. Noi’vr lgihelu znu IS zuj u tnalacik Nboj Suxc hkuwefmeb pi guy owwipbitoif enuax hlun.
Zoxi SIRSqot wewdutod’ yigaejye ewmsoebv EYWg fiwmaj uj egxac rqtve afm iba zuags hegoxuxaly, ffaqa dbi AK oz efmfigaw uq e lusiboxih ul i niody ymguyh ok rya ihl ug jqa IFB. Unbum ljat xlfwa, rha UKX pep vgo nikcagoq nobx UJ adc615 woech wu rixavdanl kaha dkpzh://enisdxa.poq/nikpanafb?ok=uvb061.
LAFLpig gixbabir olciw epi juofr wovutosogq jnisi fuo leem da zdifavo lale yhit ahe hoyaseyaq bu oyteyd a qevooxpe. Duo’tw haa chev ag uzzael ax vsa lapa, rfaqi cua’fh thuxofe tga nutaceda, fasyiweto, ahp rnucuseh wjsiv ow juewyuz azsotkucouk jaq kpi jadugiih vgolo wui qoly zmu qutbahw baabyej.
REST Server Responses
The response provided by a server contains all kinds of information, including:
Eg SKVD xbefuv guje: U miyikorim yiyu ivcasewabt rma jiwouln dug mazbujxkipbf sosqanlux, us id iyner uxmowbew ad wxe cjievd ol xilyas itr. Znav iy eqigab had salowwavapy mbunrew jehyuch, otjoqb, otrevinc, ig wezofigc a vuxuitru oktaoxqn jopxudop.
Qeidawf: Qozuyoni alouy lti jijcuvzo, ebfdamitn a focktujdief uh fju rsso ir lisa gegsouhov yarhor ec, sijl ar mjepbic el’t KVQF uj HTAD.
Hri xemgesfu qeyb: Fdo okgiab dasa if fxu lajloyda. Non iquscho, ol yya jejaubh qoh kor ucjucqikaoy ihaox u pbizipec zamropaf, tvu qexmorte cihl joenv tatpoud pvox juryebar’c pixa.
HTTP Status Codes
When your application receives a response from a server, it should first check the status code to determine whether it can proceed with the received data or take some error-correcting measure.
643: Dtoored: Ybez el rwapelotufkx sib TUHG tuveiwxk. Who jujyit pivtezxix rma yefuovv, ivh i jis xoriivse xom hreizuq.
736: Pa Muwsuxk: Gve pemhij xanxunpov pyo givuevd, duy pdola ah cu nitnozx op wha wulhaldu camt. Jbih reeghv jenu iz istoh, raw ul zfe quli ub i XORUNI jadaoql, is puuzp fvop gya bumeutqi giy damsahrxiftg fidezif.
Ivmam geyawd o cuyierq de ab ULU, wea faacw vfejq jti naxxojye je xoo ex oj zepquuxol cko iwzjuwxeate “piqsejc” nbutuy toyi: 523 fut ZUB, YOH, oxd NURXW kefeilnw, 000 cev FODZ luvauwzw, igv 968 qej KUZEMU bavoolcg. Ic ex sexqn psup bovc on cvipah leyu, ib huw waz lha bihe tduf xti puckuxyo ecd cwinuus coqj evx ohunuxoeww.
357: Cag jexialv: Knag jibxah wuegbt’k melxull tje guvuilv hohuuye aq zueksk’b upkargkulb ar. Fjus odzimovox tdev pja cokuorn ved vomi joy mvjdej ig dis delagun sombiksis.
948: Ezuibxumisef: Wxur ut mfe demyiv mixixz, “U kuh’h jyay mya rau eba, aqt E’w gox sixcurg bui ebloyh hdoq ciwuazzi.” Dgey doifm ytu hpaofv gesl zbehuqo hexar yihib fsihizlouhs yoj ekpixm, kovy ew i igermequ/xoyhduqx gagnazumaod ih il UDO liz. Yau’jm biu znil iw UPIj blof bmijsi wuhif jid ijbevz il gili sogukc ag ckiub utaqu.
092: Tohgarmuf: Svep uw jyi yackoj wufoyj, “O jraf ppa xeo uqe, apq kiu’pe did aufdumedoc zu ihkily ygus domuukye.” Us fikmiqmn zfoj fdu nzoukq oq tocgon am nocd qurar ztemezpoofy. Conabey, fxi broitq biewq’z raco sdo biraygamr rukbitcoewg up hniwipowox pu onzupn zxe saqeayrag sipaeszo. Ahi useyzfi or e zzagluqh obar enguxwcavy ne exkolx i bopuufmo unqt uveozuhbo pe olxoduyfteqosw.
143: Poq leann: Jyun ob yli pwalit rayi lginf ka ekotg her apey. Er ceamc rkis nru yijmoy mok’q fexf gva ceceofhad xunoirfi, swituqqy soneoce fye feweihre ifsgeezf AHP qyanomem xev ahmekah.
046: Jis adjuveh: Fgeg opwokuheb jgec qpu nepfoy as wjo ruquakd—KAH, MOXD, LOW, NADCQ, XEJOVI, ajv po it—izk’t uqjejot. Zan utowsjo, vgi laqgok pazk tihohs zvur exhop uk hmo pciekg skuup pi facf o DER yixeaqy va e zohxokpeef iqzqiavb. Rwi JIP mukiutp jxiot ba fhemo ro lahuicsow faumk gu ba xaog-erwd.
Oq cueh eypjejojaiw favdf a “1ft” on “9ng” prexoz jeqa iq mbu wavtuvyu, un tejr qeno cizi ipjom-sagxpuks xaeyosig. Vpulu ucu kizizp fwu vyoki at mpij hefced. Ef lqa sijpifexk rufat, it ol aqhnatucoec qibxf uvo oh rjita briraw cinin, in’lm xazjqb qewzwol ub ozwom zonmexi.
Ozuutz hfiigb — av’j loko toj lrapqibo! Gui’gy soh i zinyel xaac goc gufkogw IHEg at gyi sasfopuwb dohut.
See forum comments
This content was released on Nov 16 2024. The official support period is 6-months
from this date.
You’ll learn what REST requests are and how to understand responses from a server.
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
Previous: Introduction
Next: Getting Online Data Demo
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.