GraphQL返回的错误=> [错误:网络错误:响应失败:收到状态码500]

问题描述

希望能对我遇到的问题有所帮助。当我在登录/注册上运行突变时,没有任何问题。即使我尝试运行“提取所有帖子”。尝试显示如下所示的帖子时,我反而遇到了这个问题。

前端

在这里,我们使用突变来创建新的赞。令牌和post_id已传递(令牌=> user_id)

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

在此功能内,我们只要将人单击“心脏”按钮就称为“创建”。

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错误。我错过了拼写的东西吗?我已经多次阅读代码,但是找不到这种方法的任何问题。

感谢您在此方面的所有帮助。

解决方法

我之前遇到过另一篇有关类型是问题的文章。尽管代码似乎是正确的,但JS还是将整数转换为字符串。这导致了500错误。

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