При использовании aws cdk с appsyn c, как добавить мутацию в схему graphql и предотвратить сбой развертывания? - PullRequest
0 голосов
/ 02 мая 2020

Когда моя схема выглядит следующим образом, aws cdk развертывается нормально (обратите внимание, что мутации закомментированы):

schema {
  query: Query
  # mutation: Mutation
}

type AppUser {
  userId: String
  fullName: String
}

type Query {
  getUser(id: ID!): AppUser
  getUsers: [AppUser]
}

# type Mutation {
#   addUser(id: ID!, newUser: AppUser!): AppUser!
# }

Но когда я раскомментирую части мутации:

schema {
  query: Query
  mutation: Mutation
}

type AppUser {
  userId: String
  fullName: String
}

type Query {
  getUser(id: ID!): AppUser
  getUsers: [AppUser]
}

type Mutation {
  addUser(newUser: AppUser!): AppUser!
}

Ошибка cdk на AWS::AppSync::GraphQLSchema со следующим сообщением: Состояние создания схемы НЕ ОТКАЗЫВАЕТСЯ с подробностями: Внутренняя ошибка при сохранении схемы. Справка?

1 Ответ

0 голосов
/ 02 мая 2020

Сообщение об ошибке от aws cdk было довольно расплывчатым. Проблема была с моей схемой graphql. Тип AppUser нельзя использовать в качестве типа для ввода мутации addUser. Моим решением было создать новый тип с такой же структурой данных, как у AppUser, и начать его с input вместо type. Новая схема выглядит следующим образом:

schema {
  query: Query
  mutation: Mutation
}

type AppUser {
  userId: String
  fullName: String
}

input NewUser {
  userId: String
  fullName: String
}

type Query {
  getUser(id: ID!): AppUser
  getUsers: [AppUser]
}

type Mutation {
  addUser(newUser: NewUser!): AppUser!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...