【问题标题】:graphqljs - returning error code 400 because of graphql errorsgraphqljs - 由于 graphql 错误返回错误代码 400
【发布时间】:2019-07-12 15:25:51
【问题描述】:

所以我有时会忘记将返回的属性添加到查询中,即

query {
    getSomething(name: "something) // woops forgot to retrieve stuff
}

或者我只是忘记了它们采用什么参数,但 web 控制台只返回一个非常模糊的 400 错误代码,看起来像这样:

POST http://127.0.0.1:8081/creator/item 400 (Bad Request)

Error: Request failed with status code 400
    at createError (createError.js?2d83:16)
    at settle (settle.js?467f:18)
    at XMLHttpRequest.handleLoad

Uncaught (in promise) Error: Error: Request failed with status code 400

有没有办法获得更好的细节?我知道当我进行服务器端测试时,它会为我提供正确的详细信息。

【问题讨论】:

    标签: javascript graphql graphql-js


    【解决方案1】:

    您在 Web 控制台上看到的所有内容都是 JavaScript 运行时的结果。我猜,您的 GraphQL 库不会解析来自服务器的 4xx 代码答案。您可以修补库或捕获错误并解析答案内容。但是在 JavaScript 运行时排除错误的成本很高

    所以你需要在编译之前找到这些错误。有一些工具:

    【讨论】:

    • 我刚刚发现它在错误对象的响应中。
    • 服务器响应中当然有错误。为了更好地了解服务器上发生了什么,您可以使用来自apollo server configformatError
    • 响应数据确实包含出了什么问题,例如query is missing required field。我正在使用 graphqljs 而不是 apollo
    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 2020-09-06
    • 2019-11-14
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    相关资源
    最近更新 更多