我在Kubernetes(Google云)上部署了一个应用程序。为了使部署正常运行,它需要向“ / healthz”和“ /”返回200状态响应。我在Express服务器上将此设置为返回如下响应的路由:
app.use('/healthz', ((_req, res) => {
logGeneral.info("Health Status check called.");
res.sendStatus(200);
}));
但是我不知道如何对在Next.js / React上运行的前端执行相同的操作。不支持诸如res.send之类的命令。
有人知道吗?
谢谢。
答案 0 :(得分:5)
我有类似的要求。我必须将代码部署在AWS上,并且需要运行状况检查URL,例如http:// localhost:4000 / ping
我在页面内创建了一个名为ping / index.js的文件,内容如下-
// health check URL
function Ping() {
}
// This gets called on every request
export async function getServerSideProps(context) {
context.res.end('pong');
return { props: { } }
}
export default Ping;
参考文献-
答案 1 :(得分:2)
使用 API 路由是正确的答案。在 /pages/api 中创建一个名为 healthcheck.js 的新文件,内容如下:
export default function handler(req, res) {
res.status(200).json({ "status": "ok" })
}
端点将在 (hostname)/api/healthcheck
答案 2 :(得分:0)
next.js中使用了api路由,这似乎是处理此类情况的正确方法