#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. Имеет смысл. Спасибо.