Я экспериментировал с AWS Amplify для создания API-интерфейса GraphQL и серверной части. Я могу создать рабочий бэкэнд с помощью создания управляемой схемы. Я выбрал пример Todo. Я могу назвать это из приложения, встроенного в Android Studio. Запросы и мутации работают нормально. Всякий раз, когда я использую Android Studio для просмотра schema.graphql в ampify / backend / api / project / (где project - это имя проекта), я получаю ошибки о попытке переопределить Todo и использовании необъявленной директивы @model. Я уверен, что мне не хватает чего-то очевидного. Поэтому любая помощь будет оценена.
Android Studio 3.6.3 / Gradle 5.6.4 / Gradle Plugin 3.6.3 / JS Graph QL 2.4.0 / Java Language / Amplify CLI 4.18. 1 / npm 6.14.4 / узел 12.16.2
Я просто ошибаюсь, пытаясь использовать этот плагин graphql таким образом?
Для воспроизведения:
Создать проект в Android Студия с пустой активностью. Из проекта root запустите:
amplify init
Примите значения по умолчанию. Выполнить:
amplify add api
Выберите GraphQL, управляемую схему и выберите пример Todo. В противном случае возьмите значения по умолчанию. Выполните:
amplify push
graphql.schema в ampify / backend / api / project будет содержать схему todo
type Todo @model {
...
}
Где ... - поля по умолчанию.
Это выдает ошибку
при попытке использовать необъявленную директиву "модель"
, а также выдает 3 случая ошибки
попытался переопределить существующий тип 'Todo'
Я вижу, что при использовании ampify эта же схема json была перенесена в # current-cloud-backend и в каталог сборки проекта.
Я принял файл по умолчанию .graphqlconfig.yml.
Быстрое обновление:
Я обнаружил, что могу устранить ошибку, выполнив следующее, но кажется ненужным хаком. Хотя, если это правильно, достаточно.
Я отредактировал .yml, чтобы исключить копию # current-cloud-backend схемы и исключить версию схемы сборки.
Я вручную вставил директиву SDL с веб-страницы Amplify по директивам в файл graphql и включил ее в yml.
Это устранило ошибку о @model.
Я также следовал совету в этой статье , которая касалась ошибки, связанной с неопределенностью @aws_subscribe.
Но я все еще получаю несколько ошибок повторного объявления в сгенерированной схеме. graphql в амплификации / бэкэнде / api / проекте