这是我的架构
type Mutation{
createUser(username: String!, email: String!, tempPassword: String!): ComplexCallResult
@aws_iam
}
我正在使用 AmazoneWebServicesClient 执行查询。对于已经在模式中定义的查询,我在发布请求正文中输入如下
private String queryAllUsers = "{\n" +
" \"query\": \"{listUsers {name}}\",\n" +
" \"variables\": null,\n" +
" \"operationsName\": null\n" +
"}";
现在我想运行类似于上面的突变。我的输入查询是
{ "mutation":"{createUser(email: "test@lb.de", tempPassword: "LPwd!", username: "testUser1") { Exception Success}}" }
在 Java 代码中:
private String testCreateUserInputQuery= "{\n" +
" \"mutation\":\"{createUser(email: \\\"test@lb.de\\\", tempPassword: \\\"LPwd!\\\", username: \\\"testUser10\\\") { Exception Success}}\"\n" +
"}";
但这不起作用。请提供任何线索
编辑:我正在更新我在这里所做的事情:
这是我最新的尝试,但不起作用。
private String testCreateUserInputQuery= "{\n" +
" \"query\":\"{mutation($username:String!,$email:String!,$tempPassword:String!) {createUser(username:$username,email:$email,tempPassword:$tempPassword) { Exception Success }}}\", \"variables\":{\"input\":{\"username\":\"testUser11\",\"email\":\"test@lb.de\",\"tempPassword\":\"L123!\" } }\n" +
" }";
也试过这样:
private String testCreateUserInputQuery= "{\n" +
" \"query\":\"{mutation createUser($username:String!,$email:String!,$tempPassword:String!) {createUser(username:$username,email:$email,tempPassword:$tempPassword) { Exception Success }}}\", \"variables\":{\"input\":{\"username\":\"testUser11\",\"email\":\"test@lb.de\",\"tempPassword\":\"L123!\" } }\n" +
" }";
我收到如下异常
{"errors":[{"message":"Unable to parse GraphQL query.","errorType":"MalformedHttpRequestException"}]} (Service: appsync; Status Code: 400; Error Code: MalformedHttpRequestException; Request ID: af42c6eb-dd5f-401e-9cac-530e9c62df71; Proxy: null)
无法找到错误所在,也没有任何线索。我已经筋疲力尽了。
无法使用 Postman 或 Insomnia 来试用此 API,因为这是我的组织的工作,并且该 API 由 AWS IAM 保护。我还没有获得在 Postman 或 Insomnia 中测试这一点的凭据。我只能通过代码来测试它。