How to handle error 405 POST req in API route?
Answered
Fire ant posted this in #help-forum
Fire antOP
I want to display error response, i tried
But it returns empty response, just http header 405
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest, res: NextResponse) {
if (res.status === 405) {
return NextResponse.json({
// some json message
});
}
try {
// return data
} catch (error) {
return NextResponse.json({
// some json message
});
}
}But it returns empty response, just http header 405
Answered by Ray
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
try {
// return data
} catch (error) {
return NextResponse.json({
// some json message
});
}
}
export function GET() {
return NextResponse.json({ message: "method not allowed" }, { status: 405 })
}2 Replies
Fire antOP
How to show error response for user sending GET request on POST request?
@Fire ant I want to display error response, i tried
tsx
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest, res: NextResponse) {
if (res.status === 405) {
return NextResponse.json({
// some json message
});
}
try {
// return data
} catch (error) {
return NextResponse.json({
// some json message
});
}
}
But it returns empty response, just http header 405
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
try {
// return data
} catch (error) {
return NextResponse.json({
// some json message
});
}
}
export function GET() {
return NextResponse.json({ message: "method not allowed" }, { status: 405 })
}Answer