【问题标题】:Apollo Server Health Check custom responseApollo 服务器健康检查自定义响应
【发布时间】:2020-12-19 18:42:23
【问题描述】:

我目前希望为运行状况检查提供更多信息,而不是状态:通过。这可能吗?不幸的是,我尝试发送测试字符串,但我仍然看到相同的响应 json。提前谢谢!

代码:

       onHealthCheck: (req) => {
            return new Promise((resolve, reject) => {
                if(true) {
                    console.log(req);
                    resolve(req);
                    //resolve("test")
                } else {
                    reject();
                }
            })
        }

【问题讨论】:

    标签: graphql apollo apollo-server


    【解决方案1】:

    onHealthCheck 实现如下所示(使用 express):

        if (onHealthCheck) {
          onHealthCheck(req)
            .then(() => {
              res.json({ status: 'pass' });
            })
            .catch(() => {
              res.status(503).json({ status: 'fail' });
            });
        }
    

    如您所见,它返回硬编码值。

    您也可以随时使用 express 实施自定义健康检查。

    【讨论】:

    • 感谢您的回复!我也在研究这种方法。你知道我是否可以创建我的自定义网址吗?每次我尝试使用:await this.server.getMiddleware().use('/customHealth', (req, res, next) => {...});它仍然带我去graph ql游乐场。知道为什么会这样吗?
    • 我不确定您使用的是什么,但您可以将 Apollo Server 集成到 Express 中,然后使用 Express 创建自定义端点:apollographql.com/docs/apollo-server/v1/servers/express
    猜你喜欢
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    相关资源
    最近更新 更多