Yor*_*rmi 5 graphql graphql-js
好的,我正在试图找出如何使用graphql-js处理错误处理.(在没有继电器的情况下)
不够具体!?好吧,因为graphql-js捕获了解析函数中抛出的所有错误,所以我对如何正确处理错误和http响应感到困惑.
所以我的想法很少,想知道你对它的看法!
即使包含错误,也始终使用graphql响应返回200 OK.(不喜欢那个)
在result.errors [0]上切换大小写并返回关于错误的http响应,如果没有错误则返回result.data.(这最终可能成为一个很长的开关盒)
处理resolve函数中的错误处理和throw和object(例如{ httpCode: 404, msg: 'No X found with the requested id' }
)
在express app.post函数(或任何Web框架)中,有类似的东西:
app.post('/graphql', function(req, res) {
let result = await graphql(req.body);
if(result.errors.size) {
let e = result.errors[0];
res.status(e.httpCode).send(e.msg);
}
res.json(result.data);
}
Run Code Online (Sandbox Code Playgroud)这当前不起作用,因为错误对象的编组方式...或者至少我还没有找到如何从graphql中获取它.我想也许正在研究graphql-js源码,但我想我最好先问问你们,因为我可能会遗漏一些明显的东西.
显然,欢迎更好的主意!
干杯:D