3.3 REST a REST API
3.3 REST
REST (Representational State Transfer) - je architektúra rozhrania, navrhnutá pre distribuované prostredie. REST je dátovo orientovaný (a nie procedurálne, ako napr. XML-RPC alebo SOAP). Webové služby definujú vzdialené procedúry a protokol pre ich volanie, REST určuje, ako sa pristupuje k dátam.
REST rozhranie je použiteľné pre jednotný a jednoduchý prístup k zdrojom (resources). Zdrojom môžu byť dáta alebo stavy aplikácie (pokiaľ môžu byť popísané konkrétnymi dátami). Všetky zdroje majú vlastný identifikátor URI a REST definuje štyri základné metódy pre prístup k nim známe pod označením CRUD:
- vytvorenie dát (Create)
- získanie požadovaných dát (Retrieve)
- zmenu (Update)
- zmazanie (Delete)
Tieto metódy sú implementované prostredníctvom odpovedajúcich metód HTTP protokolu. Medzi najznámejšie metódy patria:
- GET - získanie dát,
- POST - vytvorenie dát,
- PUT - úprava dát,
- DELETE - zmazanie dát,
- ďalšie.
Príklad na metódu REST PUT – prepínač zahodí všetky pakety s cieľovou IP adresou 10.0.10.2/24
Headers:
Content-type: application/json
Accept: application/json
API-Token:
URL: http://[HSOTNAME]:[PORT]/restconf/config/opendaylight-inventory:nodes/node/openflow:72664714402125/table/2/flow/1
Method: PUT
Request body:
{
"flow-node-inventory:flow": [
{ "id": "1",
"flow-name":
"Foo",
"match": {
"ipv4-destination":
"10.0.10.2/24",
"ethernet-match": {
"ethernet-type": {
"type": 2048 } } },
"priority": 2,
"table_id": 2,
"instructions": {
"instruction": [
{"order": 0,
"apply-actions": {
"action": [
{"order": 0,
"drop-action":
{}
} ] } } ] }
} ] }
3.4 REST API
Rozhranie REST API (Representational State Transfer Application Programming Interface, známe aj ako RESTful API) je aplikačné programovacie rozhranie (API alebo webové API), ktoré spĺňa obmedzenia architektonického štýlu REST a umožňuje interakciu s webovými službami RESTful. Rozhranie REST API môže poskytovať údaje prostriedkov vo formáte JSON (JavaScript Object Notation) alebo XML. Externé aplikácie môžu používať rozhranie REST API na dotazovanie a aktualizáciu údajov aplikácií.
Obr. 3
Konfigurovanie sieťového prvku pomocou
Opendaylight DLUX Yang UI