GraphQL-API'er med Spring Boot · Lektion

Definition af brugerdefinerede datatyper

Opret brugerdefinerede objekttyper, skalartyper og enums i dit GraphQL-skema for at repræsentere applikationens data.

Lektion 1 af 411 trin

Definition af brugerdefinerede datatyper er en gratis GraphQL-API'er med Spring Boot-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i GraphQL-API'er med Spring Boot, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. GraphQL-API'er med Spring Boot-kurset indeholder 4 lektioner i alt.

Brugerdefinerede typer: Grundplanen for dine data

I GraphQL fungerer datatyper som grundplaner for oplysningerne i din applikation. De definerer strukturen og typen af data, der kan forespørges om eller ændres.

GraphQL har nogle grundlæggende typer, men du får ofte brug for at definere dine egne, så de passer perfekt til din applikations unikke datastruktur.

GraphQL's byggesten

GraphQL har indbyggede skalar-typer som String, Int, Boolean, Float og ID. Det er grundlæggende typer med én enkelt værdi.

Men data fra den virkelige verden er komplekse! Her kommer objekttyper ind i billedet. De lader dig definere objekter med flere felter, som hver har deres egen type.

Opret objekttyper

Du definerer en objekttype ved hjælp af nøgleordet type i GraphQL's Schema Definition Language (SDL). Tænk på det som at oprette en brugerdefineret klasse eller struktur.

Hvert felt i en objekttype har et navn og en type. Felter kan være andre objekttyper, skalar-typer eller endda lister med typer.

Eksempel: Et 'Book'-objekt

Lad os forestille os, at vi bygger en API til et bibliotek. Vi har brug for en måde at repræsentere en bog på. Sådan kan du definere objekttypen Book:

type Book {
  id: ID!
  title: String!
  author: String
  publicationYear: Int
}

! efter en type betyder, at feltet er ikke-nullbart – det skal altid have en værdi.

Ud over grundlæggende skalar-typer

Nogle gange er de indbyggede skalar-typer ikke specifikke nok. Et felt Date kunne f.eks. være en String, men hvad nu hvis du skal sikre et bestemt format?

Brugerdefinerede skalar-typer lader dig definere dine egne skalar-typer med specifikke regler for serialisering, fortolkning og validering. Det sikrer ensartede data.

Erklær brugerdefinerede skalar-typer

Det er enkelt at definere en brugerdefineret skalar-type i dit skema. Du bruger nøgleordet scalar efterfulgt af navnet på den nye skalar-type.

Senere skal din Spring Boot-applikation levere den konkrete logik til håndtering af denne brugerdefinerede skalar-types datatransformationer.

scalar Date

type Event {
  id: ID!
  name: String!
  eventDate: Date!
}

Enums til faste værdier

Enum-typer (en forkortelse for 'enumeration') er særlige skalar-typer, der repræsenterer et endeligt sæt mulige værdier. De er gode til felter, hvor du vil begrænse valgmulighederne til en foruddefineret liste.

Enums gør dit skema mere selvforklarende og hjælper med at forhindre, at ugyldige data sendes til din API.

Definér en enum-type

I vores biblioteks-API kan en bog have en bestemt status. Vi kan definere en enum til dette:

enum BookStatus {
  AVAILABLE
  CHECKED_OUT
  LOST
  REPAIR
}

Nu kan ethvert felt, der bruger BookStatus, kun have én af disse fire værdier.

Kombinér dine brugerdefinerede typer

Lad os opdatere typen Book, så den bruger vores nye enum BookStatus og en brugerdefineret skalar-type Date.

scalar Date

enum BookStatus {
  AVAILABLE
  CHECKED_OUT
  LOST
}

type Book {
  id: ID!
  title: String!
  author: String
  publicationYear: Int
  status: BookStatus!
  lastCheckedOut: Date
}

Det viser, hvordan brugerdefinerede typer skaber et rigere og mere præcist skema.

Test din forståelse

Hvilke af følgende udsagn om GraphQL's brugerdefinerede datatyper er SANDE?

Opsummering: Grundlaget for dine data

Du har lært, hvordan du definerer brugerdefinerede datatyper i GraphQL ved hjælp af SDL!

  • Objekttyper (type) strukturerer komplekse data.
  • Brugerdefinerede skalar-typer (scalar) håndterer bestemte dataformater.
  • Enum-typer (enum) begrænser feltværdier til et endeligt sæt.

Disse værktøjer er afgørende for at bygge et præcist og robust GraphQL-skema, der nøjagtigt repræsenterer din applikations domæne.

Gratis at komme i gang

Lær GraphQL-API'er med Spring Boot med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Definition af brugerdefinerede datatyper” gratis?

Ja — hele teksten til “Definition af brugerdefinerede datatyper” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af GraphQL-API'er med Spring Boot-kurset, skal du opgradere til CoddyKit PRO. GraphQL-API'er med Spring Boot-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Definition af brugerdefinerede datatyper”?

Opret brugerdefinerede objekttyper, skalartyper og enums i dit GraphQL-skema for at repræsentere applikationens data. Du øver dig i GraphQL-API'er med Spring Boot med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på GraphQL-API'er med Spring Boot?

Der kræves ingen tidligere erfaring. GraphQL-API'er med Spring Boot på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Definition af brugerdefinerede datatyper”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne GraphQL-API'er med Spring Boot-lektion?

Ja. Alle GraphQL-API'er med Spring Boot-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Definition af brugerdefinerede datatyper
  2. Implementering af dataresolvere
  3. Udførelse af simple GraphQL-forespørgsler
  4. GraphQL-mutationer: Ændring af data
← Tilbage til GraphQL-API'er med Spring Boot