Dan*_*mos 4 amazon-web-services graphql aws-appsync aws-amplify
我在 AppSync for GraphQL 中有以下架构
input CreateTeamInput {
name: String!
sport: Sports!
createdAt: String
}
enum Sports {
baseball
basketball
cross_country
}
type Mutation{
createTeam(input: CreateTeamInput!): Team
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过 AWS Amplify 库执行查询时
export const CreateTeam = `mutation CreateTeam($name: String!, $sport: String!){
createTeam(input:{name:$name, sport:$sport}) {
id,
name,
sport
}
}
`;
....
API.graphql(graphqlOperation(CreateTeam, this.state))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:Validation error of type VariableTypeMismatch: Variable type doesn't match。
如何更新我的代码以使用此枚举类型?
CreateTeamInput.sport字段类型是枚举,因此您的$sport变量必须是枚举。
尝试将您的查询更改为:
export const CreateTeam = `mutation CreateTeam($name: String!, $sport: Sports!){
createTeam(input:{name:$name, sport:$sport}) {
id,
name,
sport
}
};
Run Code Online (Sandbox Code Playgroud)
注意: 作为惯例,首选对枚举值使用大写字母,以便很容易将它们与字符串区分开来。
enum SPORTS {
BASEBALL
BASKETBALL
CROSS_COUNTRY
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |