Установка графической платформы iOS

Я хочу добавить инфраструктуру apollo в свой проект iOS. Я следую документации, но не могу ее создать.

Я устанавливаю apollo через cocoapods. Я добавляю шаг построения генерации кода к моей цели (помещаю его выше компилируемых источников ...) Я загружаю схему через apollo schema: загрузить --endpoint = http: // localhost: 4000 / graphql schema.json. Я добавляю файл schema.json в корневой каталог моего проекта. Я создаю его и получаю следующую ошибку: apollo@1.2.0 добавлено 416 пакетов в 20.385s ++ exec /Users/PATH/node_modules/.bin/apollo codegen: generate --queries = --schema = schema.json API. swift> Предупреждение: обновление apollo доступно с 1.2.0 до 1.7.0> Ошибка: флажок --queries ожидает значения Command / bin / sh с кодом выхода 2

Мой файл schema.grapqhl выглядит примерно так: :

type Query {
  """ User """
  users: [User!]!
  user(username: String!): User

  """ Question """
  questions: [Question!]!
  question(id: Int!): Question

  }

  type Mutation {
  """ User """
    createUser(username: String!): User
    updateUser(username: String!, newUsername: String!): [Int!]!
    deleteUser(username: String!): Int!

  """ Question """
    createQuestion(text: String!, category: Int!, active: Boolean!): 
    Question
    updateQuestion(id: Int!, text: String!, category: Int!, active: Boolean!): [Int!]!
    deleteQuestion(id: Int!): Int!
 }

 type Subscription {
   answerAdded: Answer
 }

 type Question {
  id: Int!
  text: String!
  categoryId: QuestionCategory!
  active: Boolean!
  createdAt: String!
  updatedAt: String!
  }
  ......

Кажется, что параметр запроса не имеет ввода: apollo codegen: generate --queries = --schema = schema.json API.swift

Если я попробую он сам через терминал

apollo codegen:generate --queries=schema.graphql --schema=schema.json API.swift

Я получаю следующую ошибку:

Warning: apollo update available from 1.2.0 to 1.7.0
.../schema.graphql: The Query definition is not executable.
.../schema.graphql: The Mutation definition is not executable.
.../schema.graphql: The Subscription definition is not executable.
.../schema.graphql: The Question definition is not executable.
... some more ...
:heavy_check_mark: Scanning for GraphQL queries (1 found)
:heavy_check_mark: Loading GraphQL schema
:heavy_check_mark: Parsing GraphQL schema
:heavy_multiplication_x: Generating query files with 'swift' target
 → Validation of GraphQL query document failed
ToolError: Validation of GraphQL query document failed
at Object.validateQueryDocument 
....

Не могли бы вы помочь выяснить, почему я не могу построить проект? Это потому, что файл schema.graphl неверен?

0
задан 13 August 2018 в 15:52

1 ответ

Благодаря Martijn Walraven на открытом Apollo Slack iOS Channel я решил это.

Проблема в том, что мой файл schema.graphql ошибочен.

ваш файл schema.graphql представление вашей схемы на языке определения схемы, а не документ запроса. apollo ios ожидает, что вы определите запросы, которые ваше приложение использует в файлах .graphql, чтобы они могли генерировать код из них. это запросы, которые клиент отправляет на сервер, аналогично тому, что вы бы поставили в графике, например ... запросы нужно назвать. поэтому если вы поместите это в файл .graphql:
query AllQuestions {
  queries {
    text
  }
}

ваш файл schema.graphql представляет собой представление вашей схемы на языке определения схемы, а не в документе запроса. apollo ios ожидает, что вы определите запросы, которые ваше приложение использует в файлах .graphql, чтобы они могли генерировать код из них. это запросы, которые клиент отправляет на сервер, аналогично тому, что вы бы поставили в графике, например

0
ответ дан 15 August 2018 в 16:59

Другие вопросы по тегам:

Похожие вопросы: