Apollo客户端创建Project时GraphQLError:期望StatusInput为对象
Apollo客户端提交Mutation时StatusInput类型报错问题
问题详情
已在Apollo Sandbox中成功创建项目,返回结果如下:
{"data": {"createProject": {"_id": "65952c08576a8d317dc4df47", "description": "front end", "name": "new react", "status": [{"code": "a", "launch": "c", "content": "b", "planning": "d","qa": "f", "start": "g", "ux": "h" }]}}}
客户端侧定义了如下Mutation:
mutation createProject($name: String! $description: String! $status: [StatusInput]!) { createProject(name: $name, description: $description, status: $status) { _id name description status { start planning ux content code qa launch } } }
提交处理函数代码:
const handleSubmit = async (event) => { event.preventDefault(); try { const mutationRes = await createProject({ variables: { name: formState.name, description: formState.description, status: formState.status, }, }); console.log(mutationRes); } catch (err) { console.log(err); } };
遇到的问题
网络请求中能看到name、description和status参数,但接口返回400状态码,报错信息:
GraphQLError: Expected type "StatusInput" to be an object.
服务端TypeDef定义
- Input类型:
input StatusInput { start: String! planning: String! ux: String! content: String! code: String! qa: String! launch: String! project: ID! }
- Mutation定义:
createProject( name: String! description: String! status: [StatusInput]! ): Project
内容的提问来源于stack exchange,提问作者kiwizebon
相关产品推荐
相关产品推荐

