vad är vila?
många allmänt tillgängliga tjänster exponerar ett REST API som möjliggör ett brett spektrum av applikationer från webbanvändargränssnitt till back-end systemintegration och synkronisering. Så vad exakt är vila och vad gör ett API vilsamt?,
REST – REpresentational State Transfer
tekniskt sett står REST för REpresentational State Transfer (så det är inte en perfekt akronym), och innebär i huvudsak att det är en arkitektur avsedd att överföra en representation av serverdata eller tillstånd mellan en klient och server.
det finns några detaljerade kriterier som anses nödvändiga för att ett API ska vara vilsamt, men det viktigaste är att API: n är:
- statslös
Detta innebär att det inte finns någon nödvändig session hålls mellan en klient och server., Data som tas emot från servern kan användas av klienten självständigt. Detta möjliggör korta, diskreta operationer och till och med offline caching av data. Detta gör vila en naturlig passform för HTTP-operationer där förfrågningar är avsedda att vara singulära och kortlivade.
- Uniform
REST API är avsedda att vara själv beskriva, enhetlig i sin definition, och varje operation separeras med en annan endpoint eller URL. I praktiska termer, de flesta vila API genomföra klassiska CRUD (skapa, läsa, uppdatera, ta bort) operationer mot en datamodell., Denna enhetlighet gör det möjligt för utvecklare att enkelt lära sig användningsmönstret för varje API.
så hur ser ett REST API ut?
eftersom det är tänkt att vara representativt, låt oss börja med den datamodell som den är tänkt att representera. Om vi till exempel har en online-handelsapplikation vill vi definiera verksamheten för hantering av produkter i vår katalog, centrerad kring produktmodellen.
var och en av dessa operationer skulle kopplas till en kombination av en URL och ett HTTP-verb., För att granska finns det många HTTP-verb, men de flesta webbutveckling använder endast GET-och POSTVERB för att begära en URL eller posta formulärdata. Men REST använder mer HTTP-verb för att signalera till servern vilken typ av operation klienten utför.
Följande är en förenklad lista över webbadresser i kombination med HTTP verb som vi skulle använda för att exponera hela API för att hantera en produktkatalog:
de operationer och webbadresser ovan är bara de grundläggande funktionerna på en enda modell., REST API kan också stödja mycket specifika operationer eller hierarkiska operationer. Om du till exempel vill skicka en signal till servern för att ordna om en leverans av produkter kan du avslöja en webbadress så här:
/ products / {id} / reorder | POST | Signal till servern som du vill ändra ordningen på mängder av en produkt {ID} . Meddelandekroppen kan vara tom eller innehålla en datamodell som används för detaljerade instruktioner om ombeställningsoperationen., |
eller, om du vill dyka in i produktkatalogen och köra en fråga för att returnera en lista över alla beställningar för en viss produkt, API kan avslöja en operation som denna:
eller, om du vill>/products /{id}/orders
omvänt kan du exponera en ordercentrerad slutpunkt som låter dig lista alla produkter i ordern:
/orders/{id}/produkter |
/ orders / {id} / produkter | get | gav en order {id} returnera alla produkter i ordern. |
hur ser serverdata ut?,
Även om det inte finns något strikt krav på vilken typ av data ett REST API använder eller returnerar, har det blivit en de facto-standard för webbaserade REST API: er att använda JSON som datadefinition.
detta beror på att JSON är ett inbyggt format som alla moderna webbläsare kan använda för att representera hierarkiska objekt. För mer information om JSON, läs vår artikel Vad är JSON?
om du vill veta mer om våra produkter, kontakta din oas säljare avgiftsfritt i USA på 1-800-533-4994 eller för internationella förfrågningar Ring 1-303-679-0898.