Когда этот запрос был запущен для консоли Amplify, это работает хорошо - поэтому я предполагаю правильную настройку схемы и базы данных:
mutation CreateUser {
createUser(input: {
name: "Nader Dabit"
email: "naderdabit@site.com"
image: "someimagepath"
mobile: 122122
}) {
id
name
email
image
mobile
}
}
Внутри приложения RN я настроил AWS Amplify следующим образом (но яне уверен, что так и должно быть, но процесс входа / регистрации и т. д., кажется, работает нормально):
Amplify.configure({Auth: apiKeyStore, aws_appsync_graphqlEndpoint: "https://xxx.appsync-api.ap-xxx-1.amazonaws.com/graphql",
aws_appsync_region: "ap-xxx-1", aws_appsync_authenticationType: "API_KEY", aws_appsync_apiKey: "da2-xxxx"});
Поэтому у меня есть следующие коды для вызова метода mutation :
const CreateUser = `mutation CreateUser(
$name: String!,
$email: String!,
$mobile: Int!,
$image: String!
) {
createUser(name:$name, email:$email, mobile:$mobile, image:$image)
{
id
name
email
mobile
image
}
}`;
// inside a method
try
{
const newUser = await API.graphql(graphqlOperation(CreateUser, {name: name, email: email, mobile: mobile, image: image}));
console.log('newUserIncoming: ', newUser);
}
catch (err)
{
console.log('error while create user: ', err);
}
Но приведенный выше вызов всегда превращается в error / catch, со следующими объектами ошибки (как видно из React Native Debugger):