slogan3

Ontwerp een Basis GraphQL Schema met Geavanceerde Filter- en Sorteeropties

description

Met deze prompt kan ik een flexibel GraphQL schema ontwerpen dat mijn data queries dynamischer en efficiënter maakt door uitgebreide filter- en sorteermogelijkheden toe te voegen. Dit lost problemen op waarbij standaard query-opties te beperkt zijn en helpt me betere controle over data op te halen, wat mijn API gebruiksvriendelijker en krachtiger maakt dan alternatieven zonder deze functionaliteit.

prompt

try_prompt

Help me een basis GraphQL schema te ontwerpen dat geavanceerde filter- en sorteermogelijkheden ondersteunt voor mijn dataset. Objecttypen: <beschrijf de objecttypen die ik wil definiëren> Velden per objecttype: <specificeer de velden per objecttype> Filteropties: <beschrijf welke ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een basis GraphQL-schema dat geavanceerde filter- en sorteermogelijkheden ondersteunt voor jouw dataset: ```graphql # Definieer de objecttypes type Product { id: ID! naam: String! prijs: Float! categorie: Categorie! } type Categorie { id: ID! naam: String! } type Gebruiker { id: ID! naam: String! email: String! } # Input type voor filteropties input ProductFilter { prijsMin: Float prijsMax: Float categorieContains: String } # Enum voor sorteeropties enum ProductSortField { PRIJS_ASC PRIJS_DESC NAAM_ASC NAAM_DESC } # Input type voor sortering input ProductSort { field: ProductSortField! } # Query type met flexibele filters en sortering type Query { producten( filter: ProductFilter sort: ProductSort ): [Product!]! } ``` ### Toelichting: - **Objecttypes**: `Product`, `Categorie` en `Gebruiker` met relevante velden. - **Filteropties**: `ProductFilter` met `prijsMin`, `prijsMax` en `categorieContains` voor flexibele filtering. - **Sorteermogelijkheden**: `ProductSortField` enum met opties voor prijs en naam, en `ProductSort` input voor het specificeren van de sortering. - **Query**: De `producten` query accepteert optioneel een `filter` en een `sort` parameter om de resultaten te filteren en sorteren. Met dit schema kun je krachtige en flexibele queries uitvoeren om je data efficiënt op te halen en te ordenen.
provider: deepseek
model: deepseek-chat
Hier is een basis GraphQL schema met geavanceerde filter- en sorteermogelijkheden: ```graphql # Basistypen type Product { id: ID! naam: String! prijs: Float! categorie: Categorie! } type Categorie { id: ID! naam: String! } type Gebruiker { id: ID! naam: String! } # Filter input types input ProductFilter { prijsMin: Float prijsMax: Float categorieContains: String } # Sorteer input types enum ProductSortField { PRIJS_ASC NAAM_DESC } input ProductSort { veld: ProductSortField! } # Query type type Query { # Product queries producten( filter: ProductFilter sortering: [ProductSort!] eerste: Int na: String ): ProductConnection! product(id: ID!): Product # Andere queries categorieen: [Categorie!]! gebruikers: [Gebruiker!]! } # Paginatie types type ProductConnection { edges: [ProductEdge!]! pageInfo: PageInfo! } type ProductEdge { node: Product! cursor: String! } type PageInfo { hasNextPage: Boolean! endCursor: String } ``` **Belangrijkste kenmerken:** 1. **Flexibele filtering**: - `prijsMin` en `prijsMax` voor prijsbereik - `categorieContains` voor gedeeltelijke categorie-overeenkomst 2. **Geavanceerde sortering**: - Meerdere sorteervelden mogelijk via array - Specifieke sorteerrichtingen (ASC/DESC) 3. **Paginatie**: - Cursor-based paginatie voor grote datasets - `eerste` en `na` parameters voor efficiënte data-ophaling 4. **Uitbreidbaar**: - Eenvoudig nieuwe filters en sorteeropties toe te voegen - Duidelijke type-definities **Voorbeeld queries:** ```graphql # Filteren en sorteren query { producten( filter: { prijsMin: 10.0 prijsMax: 100.0 categorieContains: "elektronica" } sortering: [ { veld: PRIJS_ASC } ] eerste: 10 ) { edges { node { id naam prijs categorie { naam } } } pageInfo { hasNextPage endCursor } } } ``` Dit schema biedt een solide basis die je kunt uitbreiden met extra filters, sorteeropties en complexere query-mogelijkheden.