javascript - NextJS 13 middleware-omskrivning fungerar inte korrekt med POST-metoden
Jag skrev NextJS-middleware som skriver om förfrågningar till en annan intern server
import {NextRequest, NextResponse, URLPattern} from "next/server";
import {endpoint} from "@/utils";
export const config = {
matcher: "/api/:path*"
}
const pattern = new URLPattern({pathname: "/api/:path*"})
export async function middleware(req: NextRequest) {
const result = pattern.exec(req.url)
console.log(result)
if (result) {
const path = result.pathname.groups.path
return NextResponse.rewrite(`${endpoint}/${path}`)
}
}
denna kod fungerar för GET-metoden men inte för POST-metoden (intern server tar inte emot begärans kropp)
när jag skrev rewrite i next.config.js fungerade det
async rewrites() {
return [
{
source: "/api/:path*",
destination: `${process.env.API_ENDPOINT}/:path*`,
},
]
},
Hur kan jag få det att fungera med NextJS-mellanmjukvara?
Jag behöver använda NextJS-middleware för att lägga till ytterligare headers till förfrågan och den next.config.js-metoden fungerar inte heller när jag skapar en middleware-funktion (även om den funktionen inte gör någonting alls)