Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
API Fabric для GraphQL предоставляет графическую среду разработки GraphQL в браузере, которая позволяет интерактивной игровой площадке создавать, тестировать и просматривать динамические результаты запросов и мутаций GraphQL.
Чтобы перейти к редактору, откройте элемент API для GraphQL из рабочей области в Fabric и выберите "Запрос " в левом нижнем углу экрана портала.
Введите и выполните запросы GraphQL непосредственно на вкладке "Запросы". Возможности Intellisense доступны с помощью сочетания клавиш: CTRL + ПРОБЕЛ (Windows) или Command + ПРОБЕЛ (macOS). Выберите "Выполнить" , чтобы выполнить запрос и получить данные из источника данных.
Создание кода
После тестирования и создания прототипа требуемой операции GraphQL редактор API создает стандартный код Python или Node.js на основе запроса или изменения, выполняемого в редакторе. Вы можете локально запустить созданный код для тестирования и повторно использовать его в процессе разработки приложений.
Внимание
Созданный код использует учетные данные интерактивного браузера и должен использоваться только для тестирования. В производственной среде всегда регистрируйте приложение в Microsoft Entra и используйте соответствующие client_id и области действия. Полный пример можно найти в примере кода в Connect Applications.
Чтобы приступить к работе, выполните запрос, нажмите кнопку "Создать код " и выберите язык соответствующим образом:
Затем можно скопировать созданный код и сохранить его в виде файла в локальной папке. В зависимости от выбранного языка выполните следующие простые действия для локального тестирования:
Python
Создайте виртуальную среду, выполнив команду
python -m venv .venv.Активация
venvпутем выполнения.venv\Scripts\activateилиsource .venv/bin/activate.Установите необходимую зависимость, выполнив команду
pip install azure.identity.Выполните код с помощью
python <filename.py>.
Node.JS
В той же папке, что и сохраненный файл, создайте
package.jsonфайл со следующим содержимым:{ "type": "module", "dependencies": {} }Выполните
npm install --save @azure/identityили аналогичную команду в выбранном менеджере пакетов, чтобы установить самую последнюю версию библиотеки удостоверений.Выполните код с помощью
node <filename>.js.
Разработка запросов и мутаций
Просмотрите эту короткую схему GraphQL. Он определяет один Post тип с запросами для чтения одной записи или списка всех записей, а также мутациями для создания, обновления или удаления записей, поддерживая все варианты использования CRUDL (создание, чтение, обновление, удаление, список).
{
type Post {
id: ID!
published: Boolean
}
type Query {
getPost(id: ID!): Post
getAllPosts: [Post]
}
type Mutation {
createPost(title: String!, content: String!, author: String!): Post
updatePost(id: ID!, title: String, content: String, author: String, published: Boolean): Post
deletePost(id: ID!): Boolean
}
}
Чтение данных, предоставляемых с помощью GraphQL, с помощью любого запроса, определенного в схеме. Этот пример показывает, как выглядит getPost запрос.
query MyQuery {
getPost(id: "1234") {
title
content
author
}
}
Ответ.
{
"data": {
"getPost": {
"title": "First Post",
"content": "This is my first post.",
"author": "Jane Doe"
}
}
}
Используйте мутации, такие как createPost, чтобы записывать данные и создавать запись с необходимыми параметрами.
mutation MyMutation {
createPost(title: "Second post", content: "This is my second post", author: "Jane Doe", published: false) {
id
title
content
author
}
}
Ответ.
{
"data": {
"createPost": {
"id": "5678",
"title": "Second Post",
"content": "This is my second post.",
"author": "Jane Doe"
}
}
}
Переменные запроса
Используйте область переменных запроса на вкладке Запрос справа, чтобы передать параметры в качестве переменных в запросы или мутации. Переменные работают как переменные на других языках программирования. Каждая переменная объявляется с именем, используемым для доступа к значению, хранящимся в нем. Используя предыдущий пример изменения, вы немного измените его, чтобы использовать переменные запроса.
mutation MyMutation ($title: String!, $content: String!, $author: String!){
createPost(title: $title, content: $content, author: $author) {
id
title
content
author
}
}
Определите переменные в области, используя следующий пример.
{
"id": "5678",
"title": "Second Post",
"content": "This is my second post.",
"author": "Jane Doe"
}
Переменные упрощают чтение, тестирование и изменение кода мутаций.