Výsledky vyhľadávania

pre ”rest api” sme našli 118 výsledkov

Články (1)

Všetky články
Čo je REST API a ako funguje? Kompletný sprievodca pre začiatočníkov
Vzdelávanie
22.12.2025
Skillmea

Čo je REST API a ako funguje? Kompletný sprievodca pre začiatočníkov

Ak ste niekedy premýšľali, ako spolu komunikujú webové aplikácie, mobilné aplikácie a servery, odpoveď je jednoduchá: REST API. REST (Representational State Transfer) je dnes najrozšírenejší štandard pre výmenu dát medzi systémami na internete. V tomto článku sa dozviete, čo je REST API, ako funguje, aké sú jeho základné princípy a prečo sa stal štandardom moderného webového vývoja. Či už ste začínajúci programátor, IT analytik alebo sa len chcete zorientovať v technológiách, tento návod vám všetko vysvetlí jednoducho a zrozumiteľne. Čo je REST?REST (Representational State Transfer) je architektonický štýl, ktorý definuje pravidlá pre komunikáciu medzi systémami na webe. Jeho hlavným cieľom je zjednodušiť interakciu medzi klientom (napríklad webový prehliadač alebo mobilná aplikácia) a serverom poskytovaním konzistentného prístupu k dátam. Systémy, ktoré dodržiavajú princípy REST, sa nazývajú RESTful systémy. Tieto systémy sú postavené na dvoch kľúčových princípoch: 1. Architektúra klient-serverV REST architektúre je klient oddelený od servera. To znamená, že: • Kód na strane klienta môže byť zmenený bez ovplyvnenia servera • Kód na strane servera môže byť upravený bez ovplyvnenia klienta • Oba systémy musia len vedieť, v akom formáte si vymieňajú správy Táto separácia prináša obrovské výhody: • Flexibilitu - používateľské rozhranie môže byť rôzne na webe, mobile či tablete • Škálovateľnosť - server je jednoduchší a ľahšie sa rozširuje • Modularitu - každá časť systému sa vyvíja nezávisle Predstavte si to ako reštauráciu: hosť (klient) komunikuje cez jedálny lístok (API), ale nemusí vedieť, čo sa deje v kuchyni (server). Kuchár môže zmeniť recept, ale hosť stále objedná cez ten istý jedálny lístok. 2. Bezstavovosť (Statelessness)Systémy založené na REST sú bezstavové, to znamená, že server si nepamätá predchádzajúce požiadavky klienta. Každá požiadavka musí obsahovať všetky potrebné informácie na jej spracovanie. Príklad: • ❌ Server si nepamätá: "Tento používateľ už je prihlásený" • ✅ Každá požiadavka obsahuje: "Tu je môj autentifikačný token" Bezstavovosť zabezpečuje: • Spoľahlivosť - ak spadne jedna požiadavka, neovplyvní to ďalšie • Výkon - server nemusí uchovávať stav tisícov klientov • Škálovateľnosť - požiadavky môžu byť spracované na rôznych serveroch Tieto dva princípy pomáhajú RESTful aplikáciám dosahovať vysokú spoľahlivosť, výkon a škálovateľnosť. Čo je REST API?REST API (Application Programming Interface), známe aj ako RESTful API, je spôsob, akým aplikácie komunikujú cez internet podľa princípov REST. Je to kontrakt medzi klientom a serverom, ktorý definuje, ako si vymieňať dáta. REST API poskytuje štruktúrovaný spôsob prístupu k zdrojom (resources), ako sú používatelia, produkty, objednávky alebo články, pomocou štandardizovaných HTTP metód (GET, POST, PUT, DELETE). Ako vyzerá REST API v praxi?V REST API je každý zdroj identifikovaný unikátnym URI (Uniform Resource Identifier) a dáta sa vymieňajú v ľahkých formátoch ako JSON alebo XML. Príklad: • Chcete získať zoznam všetkých produktov v e-shope • Vaša aplikácia pošle požiadavku: GET https://eshop.sk/api/produkty • Server vráti zoznam produktov vo formáte JSON { "produkty": [ { "id": 1, "nazov": "Notebook Dell XPS", "cena": 1299 }, { "id": 2, "nazov": "iPhone 15 Pro", "cena": 1399 } ] }REST API je teda most medzi vašou aplikáciou (frontend) a databázou na serveri (backend), ktorý zabezpečuje, že komunikácia prebieha presne a predvídateľne. Ako funguje komunikácia v REST API?Keď klient komunikuje so serverom cez REST API, prebieha to formou požiadaviek (requests) a odpovedí (responses). Pozrime sa, ako to funguje detailne. Ako sa tvoria požiadavky (Requests)Každá REST API požiadavka obsahuje tieto základné komponenty: 1. HTTP metóda (verb) Definuje, akú operáciu chcete vykonať: • GET - Načítanie dát (zobrazenie zoznamu alebo konkrétneho záznamu) • POST - Vytvorenie nového záznamu • PUT - Aktualizácia existujúceho záznamu • DELETE - Vymazanie záznamu Príklad použitia: GET /produkty → Zobraz všetky produkty GET /produkty/15 → Zobraz produkt s ID 15 POST /produkty → Vytvor nový produkt PUT /produkty/15 → Aktualizuj produkt s ID 15 DELETE /produkty/15 → Vymaž produkt s ID 15 2. Hlavička (Header) Obsahuje metadáta o požiadavke, napríklad: • Accept - aký formát dát klient očakáva (JSON, XML, HTML) • Content-Type - aký formát dát klient posiela • Authorization - autentifikačný token pre zabezpečené API Príklad hlavičky: GET /produkty/15 Accept: application/json Authorization: Bearer abc123xyz 3. Cesta k zdroju (Path) URI, ktoré špecifikuje, na aký zdroj sa žiadosť vzťahuje. Dobré praktiky pre cesty: • Používajte množné číslo: /produkty (nie /produkt) • Buďte hierarchickí: /objednavky/123/polozky = položky objednávky č. 123 • Používajte ID pre konkrétne záznamy: /zakaznici/456 Príklady: GET /zakaznici → Všetci zákazníci GET /zakaznici/456 → Zákazník s ID 456 GET /zakaznici/456/objednavky → Objednávky zákazníka 456 POST /zakaznici → Vytvor nového zákazníka 4. Telo požiadavky (Body) - voliteľné Pri vytváraní alebo aktualizácii dát (POST, PUT) posielate dáta v tele požiadavky: POST /zakaznici Content-Type: application/json { "meno": "Ján Novák", "email": "jan.novak@email.sk", "telefon": "+421901234567" }Ako vyzerajú odpovede (Responses)Server odpovedá na požiadavku dvoma hlavnými časťami: 1. Stavové kódy (Status Codes) Číselný kód, ktorý hovorí, či operácia prebehla úspešne alebo došlo k chybe. Najdôležitejšie stavové kódy: [Najdôležitejšie stavové kódy REST API] Príklad odpovede: HTTP/1.1 200 OK Content-Type: application/json { "id": 15, "nazov": "Notebook Dell XPS", "cena": 1299, "sklad": 5 } 2. Content-Type hlavička Server informuje klienta, v akom formáte posiela dáta: Content-Type: application/json → JSON formát Content-Type: application/xml → XML formát Content-Type: text/html → HTML stránka Content-Type: image/png → Obrázok PNGMIME typy - čo to je?MIME (Multipurpose Internet Mail Extensions) typy špecifikujú formát obsahu. Pozostávajú z typu a podtypu, oddelených lomítkom. Bežne používané MIME typy: Text: • text/html - HTML stránka • text/css - CSS súbor • text/plain - Čistý text Obrázky: • image/jpeg - JPEG obrázok • image/png - PNG obrázok • image/gif - GIF animácia Audio/Video: • audio/mpeg - MP3 súbor • video/mp4 - MP4 video Aplikácie: • application/json - JSON dáta (najpoužívanejšie v API) • application/xml - XML dáta • application/pdf - PDF dokument • application/octet-stream - Binárne dáta Praktické príklady REST API požiadaviekPredstavme si, že vytvárame e-shop s oblečením na adrese modnyboutique.sk. Pozrime sa na konkrétne príklady. GET požiadavky - Načítanie dátNačítanie všetkých zákazníkov: GET https://modnyboutique.sk/api/zakaznici Accept: application/jsonOdpoveď servera: 200 OK Content-Type: application/json { "zakaznici": [ { "id": 1, "meno": "Jana Kováčová", "email": "jana@email.sk" }, { "id": 2, "meno": "Peter Horváth", "email": "peter@email.sk" } ] }Načítanie konkrétneho zákazníka: GET https://modnyboutique.sk/api/zakaznici/1 Accept: application/jsonOdpoveď: 200 OK Content-Type: application/json { "id": 1, "meno": "Jana Kováčová", "email": "jana@email.sk", "telefon": "+421901234567" }POST požiadavky - Vytvorenie nového záznamuVytvorenie nového zákazníka: POST https://modnyboutique.sk/api/zakaznici Content-Type: application/json { "meno": "Martin Lukáč", "email": "martin@email.sk", "telefon": "+421905555555" }Odpoveď servera: 201 Created Content-Type: application/json { "id": 3, "meno": "Martin Lukáč", "email": "martin@email.sk", "telefon": "+421905555555" }Server automaticky vygeneroval ID 3 pre nového zákazníka. PUT požiadavky - Aktualizácia existujúceho záznamuAktualizácia emailu zákazníka: PUT https://modnyboutique.sk/api/zakaznici/3 Content-Type: application/json { "meno": "Martin Lukáč", "email": "martin.lukac.novy@email.sk", "telefon": "+421905555555" }Odpoveď: 200 OK Content-Type: application/json { "id": 3, "meno": "Martin Lukáč", "email": "martin.lukac.novy@email.sk", "telefon": "+421905555555" }DELETE požiadavky - Vymazanie záznamuVymazanie zákazníka: DELETE https://modnyboutique.sk/api/zakaznici/3Odpoveď: 204 No ContentStavový kód 204 znamená, že operácia bola úspešná a server nevracia žiadne dáta (záznam bol vymazaný). Návrh REST API systému - Praktický príkladPredstavme si, že vytvárame aplikáciu na zdieľanie fotografií z rôznych miest. Potrebujeme API pre správu používateľov, miest a fotografií. Dátové modelyModel používateľa: { "user": { "id": 1, "username": "jana_photographer", "email": "jana@email.sk" } }Model fotografie: { "photo": { "id": 45, "venue_id": 12, "author_id": 1, "url": "https://cdn.photoapp.sk/photos/45.jpg" } }Model miesta: { "venue": { "id": 12, "name": "Bratislavský hrad", "address": "Hrad, 811 06 Bratislava" } }REST API endpointyPoužívatelia: GET /users → Zoznam všetkých používateľov GET /users/:id → Detail používateľa POST /users → Vytvorenie používateľa PUT /users/:id → Aktualizácia používateľa DELETE /users/:id → Vymazanie používateľaMiesta: GET /venues → Zoznam miest GET /venues/:id → Detail miesta POST /venues → Vytvorenie miesta PUT /venues/:id → Aktualizácia miesta DELETE /venues/:id → Vymazanie miestaFotografie: GET /venues/:id/photos → Všetky fotky z miesta GET /venues/:id/photos/:photo_id → Konkrétna fotka POST /venues/:id/photos → Nahratie fotky na miesto DELETE /venues/:id/photos/:photo_id → Vymazanie fotkyTáto hierarchická štruktúra je jasná a intuitívna - už z URL vidíte, že /venues/12/photos/45 znamená "fotografia č. 45 z miesta č. 12". Výhody a nevýhody REST API✅ Výhody REST1. Jednoduchosť REST využíva známe HTTP metódy a stavové kódy, čo je pre vývojárov intuitívne a ľahko naučiteľné. 2. Škálovateľnosť Vďaka bezstavovosti môžete ľahko pridávať ďalšie servery a zvyšovať výkon systému bez zmeny architektúry. 3. Flexibilita REST podporuje rôzne formáty dát (JSON, XML, HTML, text) podľa potrieb klienta. 4. Interoperabilita Štandardizovaný prístup umožňuje komunikáciu medzi rôznymi platformami a jazykmi (Java, Python, JavaScript, PHP...). 5. Oddelenie klienta a servera Frontend a backend tímy môžu pracovať nezávisle, pokiaľ dodržiavajú API kontrakt. ❌ Nevýhody REST1. Over-fetching a Under-fetching • Over-fetching - dostanete viac dát, než potrebujete • Under-fetching - potrebujete viac požiadaviek na získanie všetkých dát Príklad: Chcete meno autora článku, ale GET /articles/15 vráti celý článok vrátane obsahu, tagov, komentárov... 2. Výkonnostné limity Pre získanie prepojených dát potrebujete viacero požiadaviek: GET /zakaznici/1 → Zákazník GET /zakaznici/1/objednavky → Jeho objednávky GET /objednavky/5/polozky → Položky objednávky= 3 samostatné požiadavky namiesto jednej 3. Neexistuje striktný štandard  Rôzni vývojári môžu implementovať REST rôzne, čo vedie k nekonzistencii API. 4. Nie vždy efektívne pre zložité scenáre Pre komplexné dopyty môže byť lepšou voľbou GraphQL, ktoré umožňuje načítať presne to, čo potrebujete, v jednej požiadavke. REST API vs iné technológieREST API vs GraphQL[Porovnanie REST API a GraphQL] Kedy použiť REST: Štandardné CRUD operácie, jednoduché API, dobré pre verejné API. Kedy použiť GraphQL: Komplexné dopyty, mobilné aplikácie (šetrenie dát), keď potrebujete flexibilitu. REST API vs SOAP[Porovnanie REST API a SOAP] Kedy použiť REST: Moderné webové a mobilné aplikácie. Kedy použiť SOAP: Finančné systémy, enterprise aplikácie s vysokými bezpečnostnými požiadavkami. Ako sa naučiť pracovať s REST API?Ak chcete prakticky zvládnuť REST API, odporúčame tieto kroky: 1. Pochopte základy HTTPBez HTTP nemôžete pochopiť REST. Naučte sa: • HTTP metódy (GET, POST, PUT, DELETE) • Stavové kódy (200, 404, 500...) • Hlavičky (Headers) • Telá požiadaviek a odpovedí 2. Vyskúšajte existujúce APIZačnite s verejnými API, ktoré nevyžadujú zložitú autentifikáciu: • JSONPlaceholder - falošné REST API pre testovanie • OpenWeatherMap - API pre informácie o počasí • REST Countries - informácie o krajinách sveta 3. Používajte nástroje na testovanie• Postman - najpoužívanejší nástroj na testovanie API • Insomnia - alternatíva k Postman • cURL - príkazový riadok pre pokročilých 4. Vytvorte vlastné REST APINajlepší spôsob učenia je praxou. Vytvorte si jednoduché API: • Node.js + Express - rýchle, jednoduché • Python + Flask/Django - pre Python fanúšikov • Java + Spring Boot - pre enterprise aplikácie • PHP + Laravel - pre webových vývojárov 5. Naučte sa best practices• Používajte správne HTTP metódy • Vracajte správne stavové kódy • Verzujte svoje API (/api/v1/...) • Dokumentujte API pomocou Swagger/OpenAPI • Implementujte rate limiting a autentifikáciu ZáverREST API sa stal základným kameňom moderného webového vývoja vďaka svojej jednoduchosti, flexibilite a škálovateľnosti. Umožňuje rôznym systémom - od webových stránok cez mobilné aplikácie až po IoT zariadenia - bezproblémovo komunikovať a vymieňať si dáta. Či už sa chystáte stať backend vývojárom, frontend programátorom alebo full-stack developerom, pochopenie REST API je kľúčové. Je to zručnosť, ktorá vám otvorí dvere v modernom softvérovom vývoji. Na Skillmea ponúkame praktické kurzy, kde sa naučíte tvoriť REST API od základov až po pokročilé techniky. Naši lektori sú aktívni programátori z praxe, ktorí vás naučia presne to, čo potrebujete v reálnych projektoch. Časté otázky o REST API1. Používajú všetky REST API JSON?Nie. JSON je dnes najobľúbenejší formát pre svoju jednoduchosť a čitateľnosť, ale REST API môžu používať aj XML, YAML alebo obyčajný text. Závisí to od hlavičky Accept v požiadavke a implementácie servera. 2. Je REST API to isté ako HTTP?Nie. REST je architektonický štýl, nie protokol. Väčšina REST API využíva HTTP ako transportný protokol, ale REST princípy môžu byť aplikované aj cez iné protokoly. HTTP sa stal štandardom vďaka svojej jednoduchosti a rozšíreniu. 3. Potrebujem autentifikáciu pre REST API?Závisí od použitia. Verejné API (napr. informácie o počasí) môžu byť bez autentifikácie. Pre citlivé operácie (vytvorenie, editácia, mazanie) používajte autentifikáciu: • API kľúče - jednoduchý token v hlavičke • OAuth 2.0 - bezpečné pre prácu s používateľskými dátami • JWT (JSON Web Tokens) - moderný, bezstavový prístup 4. Aký je rozdiel medzi API a REST API?API je všeobecný pojem pre akékoľvek rozhranie, ktoré umožňuje aplikáciám komunikovať. REST API je špecifický typ API, ktorý dodržiava REST princípy. Nie každé API je REST API - existujú aj SOAP API, GraphQL API, gRPC API a ďalšie. 5. Môžem používať REST API pre mobilné aplikácie?Áno! REST API je ideálne pre mobilné aplikácie. Mobilná aplikácia pošle HTTP požiadavku na server, server vráti dáta vo formáte JSON a aplikácia ich zobrazí používateľovi. Väčšina moderných mobilných aplikácií (Facebook, Instagram, Uber) používa REST API.