AWS Усиление неизвестной директивы GraphQL в Android Studio - PullRequest
1 голос
/ 30 апреля 2020

Я экспериментировал с 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 / проекте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...