У меня есть следующий метод, который анализирует мутацию в читаемый GraphqL формат, используя GQL
def query(attributes:)
<<~GQL
mutation {
createBook(
attributes: #{attributes}
) {
id
title
publicationDate
genre
}
}
GQL
end
Затем я отправляю почтовый запрос на конечную точку /graphql
, передавая то, что query
возвращает в качестве параметров. Следующим образом
post '/graphql', params: { query: query(attributes: attributes) }
Когда я достигаю конечной точки, я получаю следующую ошибку
{"errors"=>[{"message"=>"Parse error on \":\" (COLON) }]}
Позже я понял, что GQL
не может анализировать символы Ruby, т.е. :first_name
. Поэтому я попытался преобразовать хэш-ключи attributes
в строки с помощью attributes.stringify
, но, похоже, GQL
также не распознает хеш-ключи Ruby, поэтому он выдал ошибку
{"errors"=>[{"message"=>"Parse error on \"first_name\" (STRING) }]}
Есть ли способ заставить GraphQL
анализировать символы Ruby и / или хеш-розетки?