配置重新验证路由

在 Next.js 中重新验证路由


使用 /revalidate处的 API 路由实现按需重新验证。

如果您使用的是基本入门程序,则已为您创建了重新验证路由。您可以跳过此步骤。

/pages/api/revalidate.ts

pages/api/revalidate.ts

import { NextApiRequest, NextApiResponse } from "next"
export default async function handler(
request: NextApiRequest,
response: NextApiResponse
) {
let slug = request.query.slug as string
const secret = request.query.secret as string
// Validate secret.
if (secret !== process.env.DRUPAL_REVALIDATE_SECRET) {
return response.status(401).json({ message: "Invalid secret." })
}
// Validate slug.
if (!slug) {
return response.status(400).json({ message: "Invalid slug." })
}
try {
await response.revalidate(slug)
return response.json({})
} catch (error) {
return response.status(404).json({
message: error.message,
})
}
}