【问题标题】:GraphQL returned error => [Error: Network error: Response not successful: Received status code 500]GraphQL 返回错误 => [错误:网络错误:响应不成功:收到状态码 500]
【发布时间】:2020-12-27 03:54:52
【问题描述】:

希望对我遇到的问题有所帮助。当我在登录/注册时运行突变时,没有任何问题。即使我尝试运行 fetch all 帖子。当我尝试喜欢如下所示的帖子时,我却遇到了这个问题。

前端

这里我们使用一个mutation来创建一个新的like。传递token和post_id(token => user_id)

export const createLike = gql`
    mutation like($token: String, $post_id: Int) {
        like(token: $token, post_id: $post_id) {
            id
        }
    }
`;

在函数中,我们调用like create 一旦一个人点击了心形按钮。

const [ like ] = useMutation(createLike);
const likePost = () => {
    like({ variables: { token, post_id } })
        .then((res) => {
            console.log('THE RES WAS ', res);
            if (res.data.like) {
                dispatch(changePostLike(res.data.like));
            }
        })
        .catch((e) => console.log('THE ERROR WAS ', e));
};


<AntDesign
    onPress={() => likePost()}
    name="heart"
    size={40}
    color={isLiked ? 'red' : 'white'}
    style={{ alignSelf: 'flex-end', marginTop: 20 }}
/>

我注意到后端永远无法访问,并且单击心脏会自动给出 500 的错误。我错过了拼写吗?我已多次阅读我的代码,但找不到该方法的任何问题。

感谢您为此提供的所有帮助。

【问题讨论】:

  • tokan 作为参数,而不是通过链接/标题?调试/探索网络请求详情
  • @xadm 我把它作为 cookie 保存在手机里了吗?在我发出查询请求之前,我得到它并将其发送到后端。我有用于数据的 GraphQL 和用于状态管理的 Redux
  • @xadm 居然发现了问题。当我将数据发送到后端时,它会将 post_id 作为字符串发送,而它需要一个整数。真的希望提供更多信息,而不仅仅是 500 错误。
  • 检查原始网络响应? apollographql.com/docs/react/networking/authentication/#header ... 使用 onCompleted useMutation 选项获取响应(或从钩子返回的“数据”)apollographql.com/docs/react/data/mutations/#options

标签: reactjs react-native graphql apollo-client


【解决方案1】:

我之前看到过一篇关于类型是一个问题的不同帖子。尽管代码看起来是正确的,但 JS 将整数转换为字符串。这导致了 500 错误。

不仅要注意类型声明,还要注意 JS 可能在变量参数中发送的内容。

【讨论】:

    猜你喜欢
    • 2020-07-09
    • 2019-02-16
    • 1970-01-01
    • 2019-09-27
    • 2021-04-02
    • 2018-12-28
    • 2019-07-28
    • 2020-04-12
    • 2022-12-30
    相关资源
    最近更新 更多