Использование подчеркивания GraphQL с Ruby на Rails - PullRequest
1 голос
/ 23 апреля 2020

Я использую graphql-client в Ruby на Rails, чтобы использовать API понедельника, поэтому проблема в том, что в API имена с подчеркиванием, когда я пытаюсь что-то запросить

query {
  items (limit: 50) {
    column_values {
       id
       value
     }
  }
}

I появляется ошибка типа GraphQL::Client::ValidationError (Field 'column_values' doesn't exist on type 'Item'), после прочтения некоторых веб-сайтов (например, Поле Graphql не существует для типа ), он говорит, что вы должны изменить нижнее подчеркивание на camelCase. Поэтому я сделал это

query {
  items (limit: 50) {
     columnValues {
       id
       value
     }
  }
}

И я не получил ошибку от ruby, но после отправки запроса ответ от сервера (понедельник api) был таким же, но с верблюдом Field 'columnValues' doesn't exist on type 'Item'.

После прочтения другие сайты выглядят как under_score, а camelCase - распространенная проблема с GraphQL.

1 Ответ

0 голосов
/ 24 апреля 2020

Я не знаю Ruby, но ИМХО эта проблема скорее из graphql-ruby, источника StaticValidation.

Эта библиотека выглядит как предназначенная больше для использования сервером / бэкэндом. Он имеет некоторые внутренние элементы для преобразования имен, аргументов и т. Д. c. для последующего / внутреннего использования (резольверы) с полями, окутанными верблюдом. Исследуйте некоторые связанные темы . Как сервер, вероятно, он настраивается (autocamelize et c.).

Относительно

Оба использования (верблюд и змея) дают ту же ошибку для поля (не существует по типу). ИМХО, вы можете / должны:

  • проверить тип 'Item' - схема загруженного дампа;

Если она определена правильно:

  • fork этот проект (graphql-client) и отключите некоторые правила проверки (например, GraphQL :: StaticValidation :: FieldsAreDefinedOnType), исключив их здесь (например, 2 уже исключены).
  • вы можете отключить все проверки (закомментируйте строки 190-197)

Я надеюсь, что после этого вы сможете использовать этот запрос.

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