Hoppa till innehållet

GraphQL

GraphQL låter applikationer begära fält genom ett typat API-schema. Servern ansvarar fortfarande för dataåtkomst och behörigheter.

API:er och datakontrakt

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