#graphql #apollo #apollo-server
#graphql #apollo #apollo-server
Вопрос:
В настоящее время я хочу предоставить дополнительную информацию для проверки работоспособности, отличную от status: pass. Возможно ли это? Я пытался отправлять тестовые строки, к сожалению, я все еще вижу тот же ответ json. Заранее благодарю вас!
Код:
onHealthCheck: (req) => {
return new Promise((resolve, reject) => {
if(true) {
console.log(req);
resolve(req);
//resolve("test")
} else {
reject();
}
})
}
Ответ №1:
Реализация onHealthCheck выглядит следующим образом (используется экспресс):
if (onHealthCheck) {
onHealthCheck(req)
.then(() => {
res.json({ status: 'pass' });
})
.catch(() => {
res.status(503).json({ status: 'fail' });
});
}
как вы можете видеть, он возвращает жестко заданное значение.
Вы всегда можете реализовать свою пользовательскую проверку работоспособности также с помощью Express.
Комментарии:
1. спасибо за ваш ответ! Я также изучал этот подход. вы знаете, могу ли я создать свой пользовательский URL? каждый раз, когда я пытаюсь использовать: await this.server.getMiddleware().use(‘/ customHealth’, (req, res, next) => {…}); он по-прежнему выводит меня на игровую площадку graph ql. Есть идеи, почему это так?
2. Я не уверен, что вы используете, но вы можете интегрировать сервер Apollo в Express, а затем создать пользовательскую конечную точку с помощью Express: apollographql.com/docs/apollo-server/v1/servers/express