+server.js: GET POST PUT DELETE
Export handler functions named after HTTP methods to build API endpoints.
+server.js: GET POST PUT DELETE is a free Sveltejs Academy lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Sveltejs Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
API Routes
SvelteKit lets you build API endpoints inside the same project with +server.js files.
Location
Place +server.js in any folder under src/routes. The folder defines the URL.
src/routes/api/items/+server.js -> /api/itemsHTTP Method Exports
Export a function named after the HTTP method.
export async function GET() {
return new Response("hello");
}Multiple Methods
One file can export GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD.
Returning Responses
Each handler returns a standard Response object.
export async function POST({ request }) {
const data = await request.json();
return new Response(JSON.stringify({ ok: true }), { headers: { "content-type": "application/json" } });
}json Helper
The json() helper from @sveltejs/kit sets headers for you.
import { json } from "@sveltejs/kit";
return json({ items: [] });Method Not Allowed
Unhandled methods return 405 automatically. No boilerplate needed.
Param-Driven Endpoints
Use dynamic folder names like [id] for resource-style routes.
src/routes/api/items/[id]/+server.jsAuthentication
Check event.locals (populated by hooks) for auth state.
Status Codes
Pass status as the second argument to json or set on Response init.
return json({ ok: false }, { status: 400 });CORS
If your API serves cross-origin requests, add CORS headers manually or via a hook.
Quick Check
How do you handle GET?
Recap
+server.js exports per-method handlers (GET, POST, etc.) returning Response or using the json() helper.
Frequently asked questions
Is the “+server.js: GET POST PUT DELETE” lesson free?
Yes — the full text of “+server.js: GET POST PUT DELETE” is free to read here on the web, and the Sveltejs Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Sveltejs Academy course, upgrade to CoddyKit PRO.
What will I learn in “+server.js: GET POST PUT DELETE”?
Export handler functions named after HTTP methods to build API endpoints. You practise Sveltejs Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Sveltejs Academy?
No prior experience is required. Sveltejs Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “+server.js: GET POST PUT DELETE” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Sveltejs Academy lesson?
Yes. Every Sveltejs Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- +server.js: GET POST PUT DELETE
- Request and RequestEvent
- Returning JSON Responses
- Streaming with ReadableStream