Úvodná » kódovanie » Základy REST a RESTful API Development

    Základy REST a RESTful API Development

    Weboví vývojári často hovoria Princípy REST a architektúru RESTful data, pretože je to dôležitý aspekt moderného vývoja, ale niekedy to môže byť neuveriteľne mätúce. REST nie je samotná technológia, ale skôr metóda vytvárania API s určitými organizačnými princípmi. Tieto zásady majú viesť vývojárov a vytvoriť univerzálnejšie prostredie na spracovanie žiadostí o rozhranie API.

    V tomto príspevku by som chcel vysvetliť RESTful rozvojové postupy z pohľadu z vtáčej perspektívy. Chcem sa vysporiadať čo skôr ako ako. Hoci sa budem dotýkať obidvoch oblastí, tento príspevok je určený pre každého, kto sa do vývoja webu, ale jednoducho nemôže pochopiť koncept API REST.

    REST Pre vývojárov webu

    Označuje skratku REST Reprezentatívny štátny prevod. To môže znieť trochu mätúce, a záznam wiki to znie ešte viac mätúce. Je však možné zjednodušiť terminológiu.

    REST je len séria usmernenia a architektonické štýly používané na prenos dát. Je to bežne aplikované na webové aplikácie, ale môže prenášať dáta aj na softvér.

    Skratka API znamená Application Programming Interface, ktoré sú metódami prepojenie s inými knižnicami alebo aplikáciami. Systém Windows má viacero rozhraní API a Twitter má aj web API, aj keď vykonávajú rôzne úlohy s rôznymi cieľmi.

    Kombináciou všetkých dohromady sú RESTful API API, ktoré sa riadia architektúrou REST.

    Čo presne je architektúra REST?

    To je miesto, kde je ťažké stanoviť špecifiká. Existujú však niektoré architektonické konštanty, ako napríklad:

    • konzistencia v rámci celého rozhrania API
    • Bezdomovectvo, t. j. žiadne relácie na strane servera
    • Použitie Stavové kódy HTTP ak je to vhodné
    • Použitie Koncové body adresy URL s logickou hierarchiou
    • Verzia v adrese URL skôr ako v hlavičkách HTTP

    Neexistujú žiadne príliš špecifické usmernenia ako spec. W3C HTML5, ktoré by mohli viesť k zmätku a miasma neistoty okolo terminológie REST.

    Tiež vyššie uvedený zoznam by sa nemali považovať za tvrdé a rýchle pravidlá, aj keď sú pravdivé pre väčšinu moderných nástrojov RESTful API.

    IMAGE: restful-api-design.readthedocs.io

    REST je a ľahká metodológia čo je ideálne pre HTTP dáta. To je dôvod, prečo sa služba REST stala tak populárnou na webe a prečo je to všeobecne považovaná za najlepšiu voľbu pre vývoj API.

    Ako to naznačuje Vinay Sahni, “rozhranie API je používateľské rozhranie vývojára.” Všetko by malo byť jednoduché na používanie a poskytovať skvelé užívateľské skúsenosti. RESTful API majú za cieľ spraviť len to.

    Kľúčové aplikácie pre najstaršie API

    Tieto tipy sú v kontexte rozhraní API prísne pre webové aplikácie. To znamená, že HTTP je požiadavka, a často to znamená údaje API sa nachádzajú na externom serveri. Pozrime sa, ako fungujú RESTful API na strane užívateľa rozhrania API.

    Používateľ rozhrania API je webový vývojár, ktorý môže vytvoriť skript, ktorý sa pripája na externý server API, potom sa potrebné údaje prenesú cez protokol HTTP. Vývojár potom môže zobraziť údaje na svojej webovej stránke bez osobného prístupu na externý server (ako ťahanie údajov zo služby Twitter).

    Vo všeobecnosti existujú štyri príkazy zvyknutý na prístup na RESTful API:

    1. GET na načítanie objektu
    2. POST pre vytvorenie nového objektu
    3. PUT na zmenu alebo výmenu objektu
    4. DELETE na odstránenie objektu

    Každá z týchto metód by mala byť prešiel s volaním API informovať server, čo má robiť.

    Prevažná väčšina webových API povoliť len GET žiadosti vytiahnuť dáta z externého servera. Autentifikácia je voliteľná, ale určite je to dobrý nápad, keď povolíte potenciálne škodlivé príkazy ako napr PUT alebo DELETE.

    Nie je však veľa RESTful API dokonca aj tak ďaleko. Zvážte Pokéapi, čo je bezplatná databáza Pokémon API. Je otvorená pre verejnosť s dostatočným obmedzením rýchlosti (obmedzuje používateľov na určitý počet žiadostí API v určitom časovom období), ale umožňuje iba GET spôsob prístupu k zdrojom. To môže byť hovorovo nazývané a API iba pre spotrebu.

    Typy vrátenia sú tiež dôležité a mali by byť zachovať homogenitu pre všetky zdroje. JSON je populárny návratový typ s online špecifikáciami, ktoré vysvetľujú správne dátové štruktúry.

    Používajú sa najnovšie API podstatné mená pre objekty API, a slovesá na vykonávanie akcií na tieto objekty. Overenie pravosti môže byť súčasťou tohto, môže byť súčasťou obmedzenia sadzby. Ale veľmi jednoduché rozhranie API sa môže bez obmedzenia používateľov bez obáv stať.

    Prístup k prostriedkom rozhrania API

    Verejné rozhrania API sú typické prístupné z priamych webových adries. To znamená štruktúra adresy URL je dôležitá, a mali by byť použité iba pre požiadavky API.

    Niektoré adresy URL môžu obsahovať prefixový adresár, ako je / V2 / pre aktualizovanú verziu 2 predchádzajúceho rozhrania API. To je spoločné pre vývojárov, ktorí nechcú znehodnotiť svoje rozhranie API 1.x, ale napriek tomu chcú ponúknuť najnovšiu štruktúru.

    Naozaj som sa tešil, že tento príspevok pokrýva základné štruktúry adries URL a príklady z iných služieb.

    Všimnite si, že koncový bod je návratové údaje sa budú meniť dramaticky založené na Metóda HTTP. Napríklad, GET preberá obsah, zatiaľ čo POST vytvára nový obsah. Požiadavka by mohla smerovať k rovnakému koncovému bodu, výsledok by však mohol byť veľmi odlišný.

    IMAGE: Dokumentácia Reddit API

    Pri pohľade na príklady online vám môže pomôcť pochopiť pojmy jasnejšie. Už sme videli Pokeapi, ale tu sú niektoré ďalšie príklady API v reálnom svete prečítať:

    • Reddit API
    • GitHub API
    • Flickr API
    • Pinterest API

    Vytváranie vlastných API

    Proces vytvárania vlastných API by sa nemal brať ľahko, ale nie je ani taký komplikovaný, ako si myslíte. To trvá pochopenie návrhových vzorov API a najlepších postupov stavať niečo reálnej hodnoty.

    Každá API musí pripojte k serveru na vrátenie údajov nejakého druhu. Nielen, že potrebujete na napísanie kódu, ale musíte tiež formátovať údaje o návrate. Medzi ďalšie potenciálne požiadavky patrí overenie pravosti a obmedzenie sadzby, takže budovanie API určite nie je pre slabé srdce.

    Ale poďme sa pozrieť na niektoré základné princípy architektúry API.

    Vytvoriť koncové body

    Jeden aspekt vývoja API je koncové body budovy. Kedy vytváranie zdrojov chcete používať podstatné mená, nie slovesá. To znamená, že údaje API by mali vracať osobu, miesto alebo vec, najčastejšie to je vec so špecifickými atribútmi (napríklad tweet a všetky jeho metadáta).

    To môže byť ťažké učiť sa menovať podstatné mená, ale toto je kľúčový aspekt vývoja API. Zjednodušenie je najlepšie, keď je to možné.

    Veľká debata je singulárne a množné číslo podstatné mená. Ak ste robili rozhranie Twitter API, môžete mať prvú skupinu objektov (tzv. Tweet), potom druhú položku objektu (t. J. ID tweet).

     $ / tweet / 15032934882934 $ / tweety / 15032934882934 

    V tomto prípade by som tvrdil, že singulárna forma vyzerá lepšie. Platí to najmä vtedy, keď sa vráti iba jeden zdroj. Neexistuje však žiadna zdokumentovaná 100% správna odpoveď, tak urobte čo najviac vyhovuje vášmu projektu.

    Nastavte návratový typ

    Ďalšou úvahou je vrátiť typ údajov. Väčšina používateľov webu očakáva obsah JSON, takže je to pravdepodobne najlepšia voľba. XML je ďalšou voľbou, ak chcete ponúknuť oboje. Avšak JSON je základným typom vrátenia API medzi webovými vývojármi.

    V rozvoji rozhrania API je oveľa viac, takže najskôr odporúčam hranie s API. Týmto spôsobom môžete vidieť, ako ďalší vývojári vytvárajú svoje API a dúfajme, že sa budete oboznámiť s typickými požiadavkami.

    Ak ste práve začali, skúste zvážiť odstránenie týchto dev tutoriálov:

    • REST API Tutorial Site
    • Písanie jednoduchého API REST
    • Vytváranie RESTful Web Service

    Ďalšie zdroje

    Najlepší spôsob, ako sa naučiť vývoj webových aplikácií, je prostredníctvom praxe. Udelená teória stojí za to študovať, pretože vám umožňuje komunikovať s vývojármi a pochopiť, ako to funguje.

    Ale dobré miesto na začatie vývoja API je pripojenie do iných API najprv. Naučte sa základy pripojenia na strane klienta a odtiaľ sa môžete presunúť na vývoj rozhrania API na strane servera vytvorením vlastného API od začiatku.

    Ak je to váš cieľ, zvážte nasledujúce zdroje, ktoré vám pomôžu pri vašej ceste.

    knihy

    • REST API Design Rulebook
    • RESTful Web API
    • RESTful Cookbook s webovými službami
    • Nerušený REST: Sprievodca pre návrh Perfektného API

    články

    • Príručka pre začiatočníkov pre HTTP a REST
    • Vytvorenie nástroja RESTful API
    • Najlepšia príručka pomenovania zdrojov
    • Vytvorenie rozhrania API REST pomocou nástroja MEAN Stack