Bird
Raised Fist0
Svelteframework~5 mins

Response helpers (json, error) in Svelte - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the json() helper do in SvelteKit?
The json() helper creates a response with JSON content and the correct Content-Type header. It formats data so the client can easily read it as JSON.
Click to reveal answer
beginner
How do you use the error() helper in SvelteKit?
You call error(status, message) to create an error response with a status code and message. This stops the request and shows an error page or message.
Click to reveal answer
intermediate
Why is it better to use json() instead of manually creating a JSON response?
Because json() automatically sets the right headers and formats the data correctly, making your code cleaner and less error-prone.
Click to reveal answer
intermediate
What happens if you use error(404, 'Not found') in a SvelteKit load function?
The request stops and SvelteKit shows a 404 error page with the message 'Not found'. This helps handle missing data or pages gracefully.
Click to reveal answer
beginner
Can you customize the error message shown to users when using error()?
Yes, you provide a custom message as the second argument to error(). This message can explain what went wrong in simple words.
Click to reveal answer
What header does the json() helper automatically set?
AContent-Type: text/html
BAuthorization: Bearer token
CContent-Type: application/json
DCache-Control: no-cache
What does error(500, 'Server error') do in SvelteKit?
AReturns a JSON response with status 200
BThrows a 500 error with message 'Server error'
CRedirects to the home page
DLogs the error but continues loading
Which helper should you use to send JSON data from a SvelteKit endpoint?
Afetch()
Berror()
Credirect()
Djson()
If you want to stop a request and show a 404 page, which helper do you use?
Aerror(404, 'Not found')
Bthrow new Error('Not found')
Credirect('/404')
Djson()
What type of value does json() expect as input?
AA JavaScript object or array
BA string of HTML
CA number only
DA boolean value
Explain how and why you would use the json() helper in a SvelteKit endpoint.
Think about sending data from server to client in a clean way.
You got /4 concepts.
    Describe the purpose of the error() helper and how it affects the user experience in SvelteKit.
    Consider what happens when something goes wrong on the server.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the json() helper in SvelteKit server endpoints?
      easy
      A. To parse incoming JSON requests
      B. To throw an HTTP error with a message
      C. To send a JSON response back to the client
      D. To redirect the user to another page

      Solution

      1. Step 1: Understand the role of json()

        The json() helper formats data as a JSON response for the client.
      2. Step 2: Differentiate from other helpers

        Unlike error(), which throws HTTP errors, json() sends data successfully.
      3. Final Answer:

        To send a JSON response back to the client -> Option C
      4. Quick Check:

        json() sends JSON data [OK]
      Hint: json() sends data; error() throws errors [OK]
      Common Mistakes:
      • Confusing json() with error()
      • Thinking json() parses requests
      • Assuming json() redirects
      2. Which of the following is the correct way to return a JSON response with a status code 200 in a SvelteKit endpoint?
      easy
      A. return json({ message: 'Success' }, 200);
      B. return error(200, { message: 'Success' });
      C. return new Response({ message: 'Success' }, 200);
      D. return json({ message: 'Success' }, { status: 200 });

      Solution

      1. Step 1: Check json() syntax

        The json() helper takes data as first argument and an options object with status as second.
      2. Step 2: Validate options object usage

        return json({ message: 'Success' }, { status: 200 }); correctly uses { status: 200 } as the second argument.
      3. Final Answer:

        return json({ message: 'Success' }, { status: 200 }); -> Option D
      4. Quick Check:

        json(data, { status }) syntax [OK]
      Hint: json() needs options object for status [OK]
      Common Mistakes:
      • Passing status as a separate argument without object
      • Using error() to send success responses
      • Using Response constructor incorrectly
      3. Consider this SvelteKit endpoint code:
      import { json, error } from '@sveltejs/kit';
      
      export function GET() {
        const data = { user: 'Alice' };
        if (!data.user) {
          throw error(404, 'User not found');
        }
        return json(data);
      }

      What will be the HTTP status code and response if data.user is missing?
      medium
      A. Status 200 with empty JSON object
      B. Status 404 with message 'User not found'
      C. Status 500 with server error
      D. Status 200 with user data

      Solution

      1. Step 1: Analyze the condition

        If data.user is missing (falsy), the code throws error(404, 'User not found').
      2. Step 2: Understand error() behavior

        The error() helper throws an HTTP error with the given status and message.
      3. Final Answer:

        Status 404 with message 'User not found' -> Option B
      4. Quick Check:

        Missing user triggers error(404) [OK]
      Hint: error() throws HTTP errors with status and message [OK]
      Common Mistakes:
      • Assuming json() runs even if error is thrown
      • Thinking error() returns JSON data
      • Confusing status codes for errors
      4. Identify the error in this SvelteKit endpoint code snippet:
      import { json, error } from '@sveltejs/kit';
      
      export function POST() {
        const data = { success: true };
        return error(200, 'All good');
      }
      medium
      A. Using error() with status 200 is incorrect
      B. Missing return type annotation
      C. POST function must be async
      D. json() should be used instead of error() to send success

      Solution

      1. Step 1: Check status code validity

        The error() helper requires status codes 400-599. Using 200 triggers "Non-error status code 200".
      2. Step 2: Correct helper for success

        For success (status 200), use json() instead of error().
      3. Final Answer:

        Using error() with status 200 is incorrect -> Option A
      4. Quick Check:

        Use json() for success, error() for errors [OK]
      Hint: error() is for errors, not success responses [OK]
      Common Mistakes:
      • Using error() with 200 status
      • Not returning json() for success
      • Assuming error() can send normal data
      5. You want to create a SvelteKit endpoint that returns a JSON list of items but throws a 400 error if the list is empty. Which code snippet correctly implements this behavior?
      hard
      A. export function GET() { const items = []; if (items.length === 0) { throw error(400, 'No items found'); } return json(items); }
      B. export function GET() { const items = []; if (!items) { return error(400, 'No items found'); } return json(items); }
      C. export function GET() { const items = []; if (items.length === 0) { return json({ error: 'No items found' }, { status: 400 }); } return json(items); }
      D. export function GET() { const items = []; if (items.length === 0) { throw json({ error: 'No items found' }, { status: 400 }); } return json(items); }

      Solution

      1. Step 1: Check error throwing for empty list

        export function GET() { const items = []; if (items.length === 0) { throw error(400, 'No items found'); } return json(items); } correctly throws error(400, 'No items found') when the list is empty.
      2. Step 2: Validate response for non-empty list

        It returns json(items) properly when items exist.
      3. Final Answer:

        export function GET() { const items = []; if (items.length === 0) { throw error(400, 'No items found'); } return json(items); } -> Option A
      4. Quick Check:

        Throw error() for HTTP errors, json() for data [OK]
      Hint: Throw error() for bad status, json() for good data [OK]
      Common Mistakes:
      • Returning error() instead of throwing it
      • Using json() with error status instead of throwing error()
      • Throwing json() which is invalid
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard