0
0
GraphQLquery~30 mins

Persisted queries in GraphQL - Mini Project: Build & Apply

Choose your learning style9 modes available
Persisted Queries with GraphQL
📖 Scenario: You are building a simple GraphQL API for a book store. To improve performance and security, you want to use persisted queries. Persisted queries store the GraphQL query strings on the server with unique IDs. Clients then send only the ID to run the query.
🎯 Goal: Build a basic persisted queries setup by creating a dictionary to store queries, a configuration for allowed queries, a function to retrieve queries by ID, and a final step to simulate running a persisted query by ID.
📋 What You'll Learn
Create a dictionary called persisted_queries with exact query IDs and query strings
Add a list called allowed_query_ids containing the allowed query IDs
Write a function called get_query_by_id that takes a query ID and returns the query string if allowed
Simulate running a persisted query by calling get_query_by_id with a valid ID and storing the result in executed_query
💡 Why This Matters
🌍 Real World
Persisted queries improve performance and security in GraphQL APIs by avoiding sending full query strings over the network repeatedly.
💼 Career
Understanding persisted queries is important for backend developers working with GraphQL to optimize API efficiency and protect against injection attacks.
Progress0 / 4 steps
1
Create the persisted queries dictionary
Create a dictionary called persisted_queries with these exact entries: 'q1' mapped to '{ books { title author } }', and 'q2' mapped to '{ authors { name booksCount } }'.
GraphQL
Need a hint?

Use curly braces to create the dictionary and exact keys and values as strings.

2
Add allowed query IDs list
Create a list called allowed_query_ids containing the strings 'q1' and 'q2'.
GraphQL
Need a hint?

Use square brackets to create the list with the exact strings.

3
Write the function to get query by ID
Write a function called get_query_by_id that takes a parameter query_id. It should return the query string from persisted_queries only if query_id is in allowed_query_ids. Otherwise, return None.
GraphQL
Need a hint?

Use an if statement to check membership and dict.get() to retrieve the query string.

4
Simulate running a persisted query
Call the function get_query_by_id with the argument 'q1' and assign the result to a variable called executed_query.
GraphQL
Need a hint?

Call the function with the string 'q1' and assign the result to executed_query.