You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Next.js的JSON响应中添加请求头?

如何在Next.js中同时返回JSON响应并自定义请求头?

你可以通过两种方式实现这个需求:

方法一:先创建JSON响应对象,再添加请求头

直接用NextResponse.json()生成JSON响应对象,之后调用headers.set()方法添加自定义请求头:

import { NextResponse } from 'next/server';

export const GET = async () => {
  const response = NextResponse.json({ status: 'OK' });
  response.headers.set('X-Robots-Tag', 'noindex');
  // 可添加更多请求头
  // response.headers.set('Another-Header', 'value');
  return response;
};

方法二:调用NextResponse.json()时直接配置请求头

在生成JSON响应的同时,通过第二个参数传入headers配置项,一次性完成响应内容和请求头的设置:

import { NextResponse } from 'next/server';

export const GET = async () => {
  return NextResponse.json(
    { status: 'OK' },
    {
      headers: {
        'X-Robots-Tag': 'noindex',
        'Content-Type': 'application/json' // 可选,默认已设置
      }
    }
  );
};

注意:NextResponse.next()是用于继续路由匹配流程的响应对象,它本身不支持.json()方法,所以你之前尝试的response.json({})会报错,正确的做法是使用NextResponse.json()来生成JSON格式的响应。

内容的提问来源于stack exchange,提问作者Luc Gagan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 03:09:55