GraphQL
GraphQL låter applikationer begära fält genom ett typat API-schema. Servern ansvarar fortfarande för dataåtkomst och behörigheter.
Att välja de fält som behövs från ett API
GraphQL är ett frågespråk för API:er med regler för körning på servern. Ett typat schema anger vilka data och operationer som erbjuds. Applikationen väljer de fält den behöver ur schemat. GraphQL kräver ingen särskild databas.
Ett fiktivt programvaruföretag planerar en kundportal. Fältvalet { project(id: "P-42") { name } } begär namnet på ett projekt om företagets eget schema erbjuder dessa fält och argumentet. Det påhittade exemplet är ingen fråga som skickats till en befintlig tjänst. Serverimplementationen måste hämta data och avgöra om den som frågar får se dem. Ett anrop som stämmer med schemat ger inte i sig åtkomsträttigheter; det interna fältet internalRate ska förbli stängt för kunder även om de uttryckligen begär det.
Portalen behöver därför ange både vilka fält som erbjuds och deras åtkomstregler. Fältval hjälper vyer med olika databehov; faktiska svarstider och databasarbete måste undersökas i implementationen.
Källor
Relaterade begrepp
- APIEtt API anger hur programvara kan använda funktioner eller data som annan programvara erbjuder.
- RESTREST beskriver arkitekturregler för distribuerade gränssnitt. Resurser, tillståndslösa anrop och länkar ingår i arbetssättet.
- Server-Sent EventsServer-Sent Events skickar textmeddelanden från server till klient via HTTP, exempelvis om ett bakgrundsjobbs förlopp.
- ETagEn ETag identifierar en viss representationsversion av en HTTP-resurs och stöder villkorade hämtningar eller ändringar.
- Cross-Origin Resource SharingCORS styr webbläsarens åtkomst till svar från en annan origin. Det ersätter varken API-inloggning eller behörighetskontroll.
- Elektroniskt datautbyteEDI överför strukturerade affärsdokument mellan system. Format, partnerprofil, datamappning och återkoppling måste stämma överens.
Ditt projekt med ASES
Beskriv ditt projekt för oss. Vi hör av oss med en första bedömning.