Составить GraphQL для monday.com

#c# #monday.com

#c# #monday.com

Вопрос:

Я пытаюсь создать фреймворк вокруг monday.com API. Работает следующее утверждение:

 var query = @"{""query"": ""mutation {create_item(board_id: 1111, group_id:""new_group"", item_name: ""adding works"", column_values: "" {\""long_text\"": { \""text\"": \""Sample text\""}} "") {id}  }"" }";
  

Все экранирование не является сверхтекучим способом работы. Есть ли лучший и более читаемый способ?

Но это кошмар — работать со всем этим экранированием. Приветствуется любой ввод. Особенно, когда я хочу динамически создавать запрос.

Ответ №1:

вы можете составить запрос GraphQL с переменными. Это хороший способ сделать ваши запросы динамичными и преодолеть двойное экранирование.

Более подробная информация об этом здесь:https://graphql.org/learn/queries/#using-variables-inside-fragments

Здесь есть руководство по составлению запроса monday GraphQL с переменными:https://support.monday.com/hc/en-us/articles/360013465599-API-Quickstart-Tutorial-Javascript (Раздел «Создание нового элемента с использованием переменных GraphQL»)

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

1. Спасибо за быстрый ответ. Не уверен, как это относится конкретно к c #?

2. Переменные GraphQL соответствуют концепции GraphQL в целом, что позволяет отправлять переменные за пределы вашего запроса, чтобы не возникало проблемы с экранированием двойных кавычек. Существует graphql-dotnet.github.io/docs/getting-started/variables эта библиотека, которая может помочь вам с использованием переменных GraphQL в C#

3. Имеет смысл. Спасибо.