Wat is rust?
veel publiek toegankelijke diensten stellen een REST API bloot die een breed scala aan toepassingen mogelijk maakt, van Web user interfaces tot back-end systeemintegratie en synchronisatie. Dus wat is rust precies en wat maakt een API rustgevend?,
REST – Representationele State Transfer
technisch gezien staat REST voor Representationele State Transfer (dus het is geen perfect acroniem), en betekent in wezen dat het een architectuur is die bedoeld is om een representatie van servergegevens of-status tussen een client en server over te dragen.
er zijn een paar gedetailleerde criteria die nodig worden geacht voor een API om rustgevend te zijn, maar de belangrijkste zijn dat de API:
- Stateless
dit betekent dat er geen noodzakelijke sessie wordt gehouden tussen een client en server., Gegevens die van de server worden ontvangen, kunnen door de client onafhankelijk worden gebruikt. Dit zorgt voor korte, discrete operaties, en zelfs offline caching van gegevens. Dit maakt REST een natuurlijke pasvorm voor HTTP-operaties waarin Verzoeken bedoeld zijn om enkelvoud en van korte duur te zijn.
- Uniform
REST API ‘ s zijn bedoeld om zichzelf te beschrijven, uniform in hun definitie, en elke operatie gescheiden door een ander eindpunt of URL. Praktisch gezien implementeren de meeste REST API ‘ s klassieke CRUD (Create, Read, Update, Delete) bewerkingen tegen een datamodel., Deze uniformiteit stelt ontwikkelaars in staat om het gebruikspatroon van elke API gemakkelijk te leren.
dus hoe ziet een REST API eruit?
omdat het bedoeld is om representationeel te zijn, laten we beginnen met het datamodel dat het bedoeld is om te vertegenwoordigen. Als we bijvoorbeeld een online commerce-applicatie hebben, willen we de bewerkingen voor het beheren van producten in onze catalogus definiëren, gecentreerd rond het productmodel.
elk van deze bewerkingen zou worden gekoppeld aan een combinatie van een URL en een HTTP-werkwoord., Om te bekijken, Er zijn veel HTTP werkwoorden, maar de meeste web development gebruikt alleen de GET en POST werkwoorden voor het aanvragen van een URL of het posten van formulier Gegevens, respectievelijk. Maar REST gebruikt meer HTTP-werkwoorden om de server aan te geven wat voor soort operatie de client uitvoert.
het volgende is een vereenvoudigde lijst van URL ‘ s gecombineerd met het HTTP-werkwoord dat we zouden gebruiken om de volledige API voor het beheren van een productcatalogus bloot te leggen:
de bewerkingen en URL ‘ s hierboven zijn slechts de basisbewerkingen op een enkel model., REST API ‘ s kunnen ook zeer specifieke operaties of hiërarchische operaties ondersteunen. Als u bijvoorbeeld een signaal naar de server wilt sturen om een levering producten te herschikken, kunt u een URL als deze tonen:
/products/{id}/reorder | POST | signaal naar de server die u wilt de hoeveelheden van een Product {ID} opnieuw bestellen. De berichttekst kan leeg zijn of een gegevensmodel bevatten dat wordt gebruikt voor gedetailleerde instructies over de volgorde., |
of, als u in de productcatalogus wilt duiken en een query wilt uitvoeren om een lijst van alle bestellingen voor een bepaald product te retourneren, kan de API een bewerking als deze blootstellen:
/producten/{ID}/bestellingen | get | gegeven een {id} voor een product, retourneer alle bestellingen., |
Omgekeerd, je zou kunnen blootstellen van een bestelling-centric eindpunt kunt u een lijst van alle producten in de bestelling:
/orders/{id}/producten | GET | Gegeven een bestelling {id} return op alle producten in de bestelling. |
hoe zien de servergegevens eruit?,
hoewel er geen strikte eis is voor welk type gegevens een REST API gebruikt of retourneert, is het een de facto standaard geworden voor webgebaseerde REST API ‘ s om JSON als de gegevensdefinitie te gebruiken.
Dit komt omdat JSON een native formaat is dat alle moderne browsers kunnen gebruiken om hiërarchische objecten weer te geven. Voor meer informatie over JSON, lees ons artikel Wat is JSON?
voor meer informatie over onze producten kunt u gratis contact opnemen met uw Oas-vertegenwoordiger in de VS op 1-800-533-4994 of voor internationale vragen kunt u bellen met 1-303-679-0898.