如何在中间件 nextjs 中使用 fetch Api

Moh*_*ras 3 javascript middleware next.js

我在 nextjs 中使用一个中间件(https://nextjs.org/docs/advanced-features/middleware

但我无法向 api 发送请求并且它向我显示错误

unhandledRejection:类型错误:无法删除属性“Symbol(set-cookie)”

在此输入图像描述

我的 miiddleware.js

import { get } from 'Base'
import { redirect } from 'next/dist/server/api-utils'
import { NextResponse } from 'next/server'

export async  function middleware(req) {


  const data = await fetch(process.env.NEXT_PUBLIC_API_BASE+"/seosite/getallredirect" )
  console.log(data )

  const { pathname ,origin } = req.nextUrl

  const redirect = data?.redirects?.find(i.oldUrl == pathname);

  if(redirect){
      if(redirect?.code == 301 || redirect?.code == null  )
         return NextResponse.redirect(origin+redirect.oldUrl)
  }

  return NextResponse.next()
}
Run Code Online (Sandbox Code Playgroud)

Bra*_*cia 5

您必须将响应转换为 json

 const data = await (await fetch(process.env.NEXT_PUBLIC_API_BASE+"/seosite/getallredirect")).json()
  console.log(data)
Run Code Online (Sandbox Code Playgroud)