Handlers must be exported async functions named in uppercase: GET, POST, PUT, DELETE.
Step 2: Check parameter and return type
The function receives an object with a request property and returns a Response object.
Final Answer:
export async function POST({ request }) { return new Response('ok'); } -> Option A
Quick Check:
Correct handler syntax = A [OK]
Hint: Use uppercase method names and destructured params [OK]
Common Mistakes:
Using lowercase function names like 'post'
Not exporting the function
Returning plain strings instead of Response objects
3. Given this SvelteKit PUT handler in +server.js:
export async function PUT({ request }) {
const data = await request.json();
return new Response(JSON.stringify({ updated: data.id }), { status: 200 });
}
What will be the response body if the client sends {"id": 42} in the request body?
medium
A. undefined
B. {"id":42}
C. 42
D. {"updated":42}
Solution
Step 1: Parse JSON from request
The handler reads JSON from the request body, so data = { id: 42 }.
Step 2: Return JSON with updated id
The response body is JSON stringified object with key 'updated' and value data.id (42).
Final Answer:
{"updated":42} -> Option D
Quick Check:
Response JSON includes updated id = D [OK]
Hint: PUT returns updated data wrapped in JSON [OK]
Common Mistakes:
Returning original data instead of updated key
Not stringifying JSON response
Confusing response body with request body
4. Identify the error in this DELETE handler code snippet:
export async function DELETE(request) {
const id = await request.json().id;
return new Response(`Deleted ${id}`, { status: 200 });
}
medium
A. The function parameter should be destructured to get request
B. Cannot await request.json().id directly; must await request.json() first
C. DELETE handlers cannot return Response objects
D. Missing export keyword before function
Solution
Step 1: Analyze request.json() usage
request.json() returns a Promise for the parsed body; you must await it fully before accessing properties.
Step 2: Identify incorrect await usage
Code tries to await request.json().id directly, which is invalid; must await request.json() first, then access .id.
Final Answer:
Cannot await request.json().id directly; must await request.json() first -> Option B
Quick Check:
Await full JSON before property access = C [OK]
Hint: Await request.json() fully before accessing properties [OK]
Common Mistakes:
Trying to await a property of a Promise
Not destructuring the parameter (optional but recommended)
Thinking DELETE handlers can't return Response
5. You want to create a SvelteKit API route that updates a user's name using a PUT handler and returns the updated user object. Which code snippet correctly implements this behavior?
hard
A. export async function PUT({ request }) {
const user = await request.json();
user.name = user.name.toUpperCase();
return new Response(JSON.stringify(user), { status: 200 });
}
B. export async function PUT(request) {
const user = await request.json();
user.name = user.name.toUpperCase();
return user;
}
C. export async function put({ request }) {
const user = await request.json();
user.name = user.name.toUpperCase();
return new Response(JSON.stringify(user));
}
D. export async function PUT({ request }) {
const user = request.json();
user.name = user.name.toUpperCase();
return new Response(JSON.stringify(user), { status: 200 });
}
Solution
Step 1: Confirm correct function signature and export
The handler must be exported async function named PUT with destructured { request } parameter.
Step 2: Await request.json() and modify data
Await the JSON body, then update the user.name property correctly.
Step 3: Return a Response with JSON string and status
Return new Response with JSON stringified user and status 200.
Final Answer:
export async function PUT({ request }) {
const user = await request.json();
user.name = user.name.toUpperCase();
return new Response(JSON.stringify(user), { status: 200 });
} -> Option A
Quick Check:
Proper async PUT handler with Response = A [OK]
Hint: Use uppercase function name, await JSON, return Response [OK]
Common Mistakes:
Not awaiting request.json()
Using lowercase function name 'put'
Returning raw object instead of Response
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.