Преобразуйте массив [String] в массив [uuid] в Json REST api для запроса графа hasura

#json #api #parsing #graphql #hasura

Вопрос:

Я пытаюсь отправить данные JSON для запроса graph ql ДАННЫЕ JSON:

 {
    "dataIds": ["1224rr67-4b3e-473c-80a7-dccc480fb6c0", "28avxrb8-5ff6-45ef-b51b-d4f654321bf8"]
}
 

Запрос ГРАФА QL:

 query GetDataByIds($dataIds: [uuid!]) {
  view_data(where: {data_id: {_in: $dataIds}}) {
    data_id
    created_on
    updated_on
  }
}
 

Я сталкиваюсь с проблемой, что, как вы видите выше JSON, массив имеет тип [String] (строковый массив), но когда я вызываю Graph QL, он выдает мне эту ошибку:

 {
    "path": "$",
    "error": "The variable type for the expected variable dataIds was not supported.",
    "code": "bad-request"
}
 

Это означает , что [String] это не анализируется [uuid] , что, как я предполагаю, эквивалентно.
Есть ли какой-либо способ, которым я могу преобразовать [String] в [uuid] запрос ql в графике (я не могу изменить столбец базы данных, который имеет тип uuid )
У кого есть решение, пожалуйста, поделитесь

Комментарии:

1. Мы используем много таких запросов и не видим с ними никаких проблем. Хотя мы используем hasura 1.3: используете ли вы hasura 2.x ?

Ответ №1:

Откуда взялись эти удостоверения личности? Вы можете проверить здесь, что эти идентификаторы не являются действительными uuidv4.

Поэтому я думаю, что Hasura преобразует тип в String и не использует тип uuid .

Комментарии:

1. В случае неверно отформатированных идентификаторов uuid hasura 1.3 возвращает: «недопустимый синтаксис ввода для типа uuid: «привет»» (я передал ["hello"] ввод)