restapi_baseinfo
Rozdiely
Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.
| Obojstranná predošlá revíziaPredchádzajúca revíziaNasledujúca revízia | Predchádzajúca revízia | ||
| restapi_baseinfo [2025/07/28 13:05] – attilajancik | restapi_baseinfo [2025/09/04 15:21] (aktuálne) – [Formát dát] attilajancik | ||
|---|---|---|---|
| Riadok 1: | Riadok 1: | ||
| ====== REST API - ZÁKLADNÉ INFO ====== | ====== REST API - ZÁKLADNÉ INFO ====== | ||
| - | ==== Systém CRUD ==== | + | **Representational State Transfer Application Programming Interface** zabezpečuje komunikáciu cez internet pomocou HTTP protokolu. Klient formou dotazu na server žiada odpovede na svoje dotazy. Tieto dotazy majú hlavný cieľ údaje uložiť, získať, aktualizovať či odstrániť (CRUD). Klient dotazy smeruje na server tak, že špecifikuje cestu ku zdroju (resources) a žiada využiť metódu (POST, GET, PUT/PATCH, DELETE). Dotaz môže obsahovať autentifikáciu klienta a telo so správou (DATA). Server odpovedá kažému klientovi zvlášť. \\ |
| + | Každý dotaz by mal dostať odpoveď, ktorá obsahuje návratový kód a ak je dotaz oprávnený či vykonateľný, | ||
| + | ===== Systém CRUD ===== | ||
| - | je model operácií s dátami pri komunikácii cez web rozhranie. Univerzálnosť ho predurčuje pre širokú škálu nasadenia v rôznych systémoch. | + | je model operácií s dátami pri komunikácii cez web rozhranie. Univerzálnosť ho predurčuje pre širokú škálu nasadenia v rôznych systémoch. |
| **Tvoria ho funkcie:** | **Tvoria ho funkcie:** | ||
| * CREATE - vytváranie -> SQL INSERT | * CREATE - vytváranie -> SQL INSERT | ||
| Riadok 10: | Riadok 12: | ||
| * DELETE - výmaz -> SQL DELETE | * DELETE - výmaz -> SQL DELETE | ||
| - | ==== REST API ==== | + | ===== REST API ===== |
| - | využíva základné formulácie CRUD pre vytvorenie web rozhrania. Komunikujú ním klient a server pomocou HTTP metód. | + | využíva základné formulácie CRUD pre vytvorenie web rozhrania. Komunikujú ním klient a server pomocou HTTP metód. |
| **Výčet metód:** | **Výčet metód:** | ||
| * GET- READ without change -> 200=OK, 404=NOT_FOUND, | * GET- READ without change -> 200=OK, 404=NOT_FOUND, | ||
| Riadok 26: | Riadok 28: | ||
| ==== Resources ==== | ==== Resources ==== | ||
| - | sú zdroje pre aplikáciu metód. Jedná sa o cestu vyjadrujúcu zdoj. | + | sú zdroje pre aplikáciu metód. Jedná sa o cestu vyjadrujúcu zdoj. \\ |
| **Príklad: | **Príklad: | ||
| * GET /users | * GET /users | ||
| Riadok 33: | Riadok 35: | ||
| ==== Návratové kódy HTTP ==== | ==== Návratové kódy HTTP ==== | ||
| - | **Príklad najčastejších: | + | **Príklad najčastejších: |
| * 200 = OK -> úspech | * 200 = OK -> úspech | ||
| * 201 = CREATED -> úspešné vytvorenie | * 201 = CREATED -> úspešné vytvorenie | ||
| Riadok 42: | Riadok 44: | ||
| ==== Formát dát ==== | ==== Formát dát ==== | ||
| - | * Nečíslovaný zoznamJSON | + | * **JSON** - je moderný spôsob |
| - | * XML je funčný formát využívaný pred JSON. Tagy sú obdoba kľúčov. Vnorenie je taktiež pomocou tagov a prípadne ich skráteného ukončenia. | + | |
| - | * RAW je využiteľné | + | |
| - | ==== príklad JSON ==== | + | === príklad JSON === |
| - | %%{" | + | %%{" |
| (formátovaný v závere článku) | (formátovaný v závere článku) | ||
| - | ==== príklad XML ==== | + | === príklad XML === |
| %%<?xml version=" | %%<?xml version=" | ||
| (formátovaný v závere článku) | (formátovaný v závere článku) | ||
| - | ==== Poznámka | + | == Poznámka == |
| Z príkladu prevodu JSON na XML je vidieť istú nekompatibilitu. XML sme museli zabaliť do " | Z príkladu prevodu JSON na XML je vidieť istú nekompatibilitu. XML sme museli zabaliť do " | ||
| Pri načítaní XML feedov do webShopu sa pravdepodobne nevyhnete úpravám špeciálnych znakov a polí... | Pri načítaní XML feedov do webShopu sa pravdepodobne nevyhnete úpravám špeciálnych znakov a polí... | ||
| - | Online konvertory sú spomenuté v tomto článku v linkoch. | + | Online konvertory sú spomenuté v tomto článku v linkoch. |
| - | **príklady: | + | **príklady: |
| - | ```php | + | <code:php> |
| $jsonData = simplexml_load_file($xml_data_file); | $jsonData = simplexml_load_file($xml_data_file); | ||
| - | ``` | + | </ |
| - | ## Autentifikácia | + | ===== Autentifikácia |
| - | overuje identitu dotazujúceho sa klienta. | + | |
| + | overuje identitu dotazujúceho sa klienta. | ||
| **Najbežnejšie spôsoby overenia:** | **Najbežnejšie spôsoby overenia:** | ||
| - | - API key - Authorization: | + | * API key - Authorization: |
| - | - Basic - Authorization: | + | |
| - | - OAuth - Authorization: | + | |
| - | - JWT - Authorization: | + | |
| + | |||
| + | ===== Linky na zdroje ===== | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | * konvertor XML< | ||
| + | * konvertor JSON-> | ||
| + | * konvertor XML-> | ||
| + | * konvertor XML< | ||
| + | |||
| + | ---- | ||
| - | ## Linky na zdroje | + | ===== Ukážky k článku ===== |
| - | - https:// | + | |
| - | - https:// | + | |
| - | - konvertor XML< | + | |
| - | - konvertor JSON-> | + | |
| - | - konvertor XML-> | + | |
| - | - konvertor XML< | + | |
| - | --- | + | ==== Formátovaný JSON z príkladu: ==== |
| - | ##### Formátovaný JSON z príkladu: | + | <code javascript> |
| - | ```json | + | |
| { | { | ||
| " | " | ||
| Riadok 106: | Riadok 113: | ||
| ] | ] | ||
| } | } | ||
| - | ``` | + | </ |
| - | ##### Formátovaný XML z príkladu: | + | ==== Formátovaný XML z príkladu: |
| - | ```xml | + | |
| + | < | ||
| <?xml version=" | <?xml version=" | ||
| <doc> | <doc> | ||
| Riadok 127: | Riadok 135: | ||
| < | < | ||
| </ | </ | ||
| - | ``` | + | </ |
| - | ##### Pretty formátovanie Java a Kotlin: | + | ==== Pretty formátovanie Java a Kotlin: |
| - | ```java | + | |
| + | < | ||
| { | { | ||
| alertLD.setUniversalMessage( | alertLD.setUniversalMessage( | ||
| Riadok 141: | Riadok 150: | ||
| ); | ); | ||
| } | } | ||
| - | ``` | + | </ |
| - | ```kotlin | + | < |
| { | { | ||
| showAlert(" | showAlert(" | ||
| Riadok 150: | Riadok 159: | ||
| .toJson(data)) | .toJson(data)) | ||
| } | } | ||
| - | ``` | + | </ |
restapi_baseinfo.1753700743.txt.gz · Posledná úprava: od attilajancik
