Next.js › Route Handlers (API Route.js)
How do you read query parameters and the request body inside a route handler?
IntermediateAnswer
You access query parameters through the request URL's searchParams property, and read the request body by calling a method like json on the request object, which returns a promise that resolves to the parsed body data sent by the client.
export async function POST(request) {
const { searchParams } = new URL(request.url);
const category = searchParams.get('category');
const body = await request.json();
return Response.json({ category, received: body });
}Real-world example A search endpoint reads a category filter from the query string while also accepting a JSON body containing search preferences, combining both sources of input inside a single route handler.