angular - GraphQL 更新表条目
问题描述
我正在尝试使用 angular apollo 中的 gql-tags 更新表条目。我收到 400 错误,我不知道为什么。我遵循相同方法的删除方法似乎没有错误。我错过了一些明显的东西吗?
updateProject: {
type: graphql.GraphQLString,
args: {
id: {
type: new graphql.GraphQLNonNull(graphql.GraphQLID)
},
companyId: {
type: new graphql.GraphQLNonNull(graphql.GraphQLString)
},
projectType: {
type: new graphql.GraphQLNonNull(graphql.GraphQLString)
},
description: {
type: new graphql.GraphQLNonNull(graphql.GraphQLString)
}
},
resolve: (root, {
id,
companyId,
projectType,
description
}) => {
return new Promise((resolve, reject) => {
database.run('UPDATE projects SET companyId = (?), projectType = (?), description = (?) WHERE id = (?);', [companyId, projectType, description, id], (err) => {
if (err) {
reject(err);
}
resolve(`Project #${id} updated`);
});
})
}
},
在我的角度项目中,我有 types.ts
export type Project = {
id: number;
companyId: string;
projectType: string;
description: string;
}
export type Query = {
projects: Project[];
project: Project;
}
export type Mutation = {
deleteProject: Project;
updateProject: Project;
}
然后在返回错误的我的角度项目中调用 mutate 方法。
onEdit(project: Project){
console.log(project)
this.apollo.mutate({
mutation: gql
`mutation($id: ID!, $companyID: String!, $projectType: String!, $description: String!){
updateProject(id: $id, companyId: $companyId, projectType: $projectType, description: $description)
}`,
variables: {
id: project.id,
companyId: project.companyId,
projectType: project.projectType,
description: project.description
},
refetchQueries: [{query: gql`
query {
projects{
id
companyId
projectType
description
}
}
`}]
}).subscribe(res => {
console.log(res.data);
});
解决方案
推荐阅读
- java - 通过 SMB 从 Java 程序读取 DFS 共享上的文件会锁定文件吗?
- excel - 从具有部分名称关系的工作表中复制数据
- c# - 使用 XAML c# 在 uwp 中制作一个背景变暗的自定义弹出窗口
- go - 通过反向 SSH 隧道的动态端口转发 TCP 流量
- rattle - 尽管多次尝试,仍无法在 Windows 10 上安装 Rattle
- angular - 关于角度模块
- javascript - 为什么 `{} == null` 会给出 SyntaxError?
- python - 仅使用内置函数在列表中查找重复项
- node.js - 无法读取 nodejs 中未定义的属性“温度”,我正在为此使用 ATOM 编辑器
- java - JHipster:错误:在Image和ImageType的关系中,没有声明ImageType