Next.js Discord

Discord Forum

How to handle error 405 POST req in API route?

Answered
Fire ant posted this in #help-forum
Open in Discord
Fire antOP
I want to display error response, i tried
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 })
}
View full answer

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