GraphQL Batching
Insgestamt ist GraphQL für mich meist schwierig verständlich. Schon alleine über Design von REST-Schnittstellen lässt sich lange streiten. Bei GraphQL scheint der grösste Wildwuchs zu herrschen.
Für ein Experiment, bei dem ich den fxa-content-server anbinden wollte, wurde ich mit einer sehr speziellen Art GraphQL Schnittstelle konfrontiert:
[
{
"operationName": "GetInitialMetricsState",
"variables": {
},
"query": "query GetInitialMetricsState {\n account {\n uid\n recoveryKey {\n exists\n estimatedSyncDeviceCount\n __typename\n }\n metricsEnabled\n emails {\n email\n isPrimary\n verified\n __typename\n }\n totp {\n exists\n verified\n __typename\n }\n __typename\n }\n}"
},
{
"operationName": "GetSessionIsValid",
"variables": {
"sessionToken": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
},
"query": "query GetSessionIsValid($sessionToken: String!) {\n isValidToken(sessionToken: $sessionToken)\n}"
}
]
Man beachte, dass die Queries in einem Array gepackt wurden. - Das nennt sich Query Batching. Beschrieben in Apollo GraphQL.
Pfadfinder Regel
Ich habe schon vor einigen Posts angedeutet, dass ich noch etwas über den BlueMapSignMarkers Code einige Worte verlieren will.
Ich dachte ich würde jetzt noch warten, bis mein PR bei KaiijuMC durch ist. Da das Projekt aber inaktiv ist, werde ich mal meine Gedanken dazu äussern.
Update Libs
Also die Libs wieder auf den richtigen Stand bringen, war die kleinste Änderung. Dazu hab ich einfach die aktuellen Dokus der Libs studiert, wie diese einzubinden sind.
JWS Detached
JSON Web Signatures (JWS) begegnen Entwickler meist im Hintergrund. Libs und Frameworks liefern alles, somit kommen viele nicht direkt in Kontakt mit JWS.