GraphQL是一种流行的查询语言,它允许前端应用程序灵活地从服务端获取数据。
尽管GraphQL非常灵活和强大,但是,当与后端API集成时,很难找到错误是由于客户端代码错误还是服务端返回了未知数据。在这种情况下,有一些简单的步骤可以帮助您更轻松地监测GraphQL接口中的错误。
本文将介绍四个步骤来监测GraphQL接口的错误。
步骤1:使用GraphQL Playground
GraphQL Playground是一个交互式的GraphQL API探究器。可以在其中构建和测试GraphQL查询语句,并监测GraphQL接口的错误。
安装GraphQL Playground很容易,只需在开发环境中执行以下命令:
npm install graphql-playground-middleware-express --save-dev
然后在GraphQL服务中将GraphQL Playground作为中间件启动:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- - ----------- - - -------------------------- ----- - -------------------- - - ------------------------ ----- ---------- - -------------------------------------------------------- ----- ------ - ---------------------- --- -- ----- --- - --------- ------------------- ------------- ------- --- ---------------------- ------------ --------- ---------- --- ----------------
然后打开浏览器并访问http://localhost:3000/playground
,您就可以开始测试GraphQL查询并监测GraphQL接口的错误。
步骤2:监测GraphQL错误
GraphQL Playground提供了一个错误窗口,其中包含有关您的查询中出现错误的详细信息。单击错误窗口中的错误即可查看有关错误的更多详细信息。这将帮助您找出GraphQL查询中的错误,并在代码中进行修复。
-- -------------------- ---- ------- - ----- - ----- ------ - --------- -------- - --------- - ---- ------- - - -
如果该查询中实际上不存在publisher
字段,则GraphQL Playground将为您显示以下错误:
步骤3:设置GraphQL错误处理程序
GraphQL错误处理程序本质上是一个函数,它接收一个错误对象,错误对象包含有关错误的所有信息。因为每个GraphQL调用都可能会导致错误,所以它可以帮助您在每个查询上拦截和处理错误。
以下是一个示例GraphQL错误处理程序:
app.use('/graphql', graphqlHTTP({ schema, customErrorHandler: (err) => { console.error(err) return { message: err.message } } }))
在这个例子中,我们简单地打印GraphQL请求的错误,然后返回一个包含错误消息的响应。
步骤4:使用GraphQL错误日志记录器
最后,我们可以使用GraphQL错误日志记录器来记录GraphQL API中的错误。错误日志记录器可以帮助我们实时监测并记录GraphQL API中的错误,从而及时定位和解决问题。
以下是一个示例GraphQL错误日志记录器:
-- -------------------- ---- ------- ----- - ------------- --- - - -------------------------------- ----- ------ - --- -------------- --------- ---- ---- ----- - ------ -------- - ---- ---- - ------ ------- ------- ------ - ---- ------ - ---------- ------- --------- ------- - -- ---------- - ------ - ------ -- -- - ----- --- ------------- -- ----- ------- - - -- -------- - - ------------------------------- - ------ - ---------------------------------- - ---------------------------------- -- -- - - - -- ----- --- - --------- ----------------------- ------------------------ --- -- ---------------- -- -- ------------------- ----- -- -------------------------------------------- -
在这个例子中,我们使用了Apollo Server,然后编写了一个GraphQL查询,该查询抛出了一个错误。我们使用requestDidStart
函数来注册一个函数,该函数将在GraphQL请求中遇到错误时被调用。在这个函数中,我们简单地将错误记录到控制台中。
结论
通过遵循这四个简单的步骤,您可以更轻松地监测GraphQL接口中的错误。这将有助于您在出现问题时更快地解决它们,并提高代码的质量。我们希望这篇文章能帮助您监测GraphQL接口中的错误,并提高开发过程中的生产力和效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674d5552a336082f254c4f79