如何在route.ts文件中使用app router读取next 13的API中的请求体和查询参数?

tjrkku2a  于 2023-05-17  发布在  其他
关注(0)|答案(2)|浏览(256)

在这里没有找到任何解决方案:https://nextjs.org/docs/app/api-reference/file-conventions/route

q9rjltbz

q9rjltbz1#

在NextJS 13中,使用app目录中的route.ts文件约定,我们可以通过以下方式读取查询参数和请求的主体:

import url from "URL";
export async function POST(request: Request) {
const requestBody = await request.json();
const queryParams = url.parse(request.url, true).query;

return NextResponse.json({
  requestBody,
  queryParams,
});
}
scyqe7ek

scyqe7ek2#

在NextJS 13中,在app/API/route.js中可以使用URL类读取参数

export async function GET(req){
    const {searchParams} = new URL(req.url);
    const param = searchParams.get("/*Your param key here*/");
    console.log(param)
}

获取请求体

export async function POST(req){
    const body = await req.json()
    console.log(body)
}

相关问题