Next JS 13+ вернуть статус документа 404

Использую Next JS 14. Есть некий API запрос на получение информации о товаре. Если бэк возвращает пустоту (то есть товара не существует), нужно директить на 404 со статусом документа 404, но каждый раз статус документа становится 200. Немножко кода:

import { notFound } from "next/navigation";

export default async function ReviewsPage({ params: { id } }: IParams) {
  const card = await getCard(id);
  if (!card.item) {
    return notFound();
  }
  return (
    <main className={styles.main}>
      <div className="container">
        <CardReviewsComponent card={card.item} />
      </div>
    </main>
  );
}

Страница 404 отрисовывается, но статус документа 200, может кто встречался введите сюда описание изображения


Ответы (1 шт):

Автор решения: 0px

В общем, кто столкнется с такой же проблемой, у NextJS есть промежуточное ПО (middleware), который возвращает статус документа при наличии верно настроенных путей и условий. Получил 404 статус документа с помощью этого кусочка кода:

export function middleware(request: NextRequest) {
    /* тут условия */
    return NextResponse.next({
      status: 404,
    });
}

export const config = {
  matcher: ["/card/"],
};
→ Ссылка