GraphQL düzenleyicisi için Doku API'si
GraphQL için Doku API'si, graphQL sorgularınızın ve mutasyonlarınızın canlı sonuçlarını oluşturmak, test etmek ve görmek için etkileşimli bir oyun alanı sağlayan grafiksel bir tarayıcı içi GraphQL geliştirme ortamı sağlar.
Düzenleyiciye gitmek için Doku'da GraphQL API'sini açın ve portal ekranınızın sol alt köşesindeki Sorgu'yu seçin.
GraphQL sorgularını doğrudan Sorgu sekmesinde yazabilir ve yürütebilirsiniz. Intellisense özellikleri klavye kısayoluyla kullanılabilir: CTRL + Ara Çubuğu (Windows) veya Command + Ara Çubuğu (macOS). Sorguyu yürütmek ve verileri veri kaynağından uygun şekilde almak için Çalıştır'ı seçin.
Kod oluşturma
İstediğiniz GraphQL işlemini test edip prototipini oluşturduktan sonra API düzenleyicisi, düzenleyicide yürütülen sorguyu veya mutasyonu temel alarak ortak Python veya Node.js kodu oluşturabilir. Oluşturulan kodu test amacıyla yerel olarak çalıştırabilir ve uygulama geliştirme sürecinde bu kodun bölümlerini yeniden kullanabilirsiniz.
Önemli
Oluşturulan kod etkileşimli tarayıcı kimlik bilgilerini kullanır ve yalnızca test amacıyla kullanılmalıdır. Üretimde, bir uygulamayı her zaman Microsoft Entra'ya kaydedin ve uygun client_id
ve kapsamları kullanın. Örnek kod içeren uçtan uca bir örneği Connect Applications adresinde bulabilirsiniz.
Başlamak için bir sorgu yürüterek Kod oluştur düğmesini seçin ve dili uygun şekilde seçin:
Daha sonra oluşturulan kodu kopyalayıp yerel bir klasöre dosya olarak kaydedebilirsiniz. Tercih diline bağlı olarak, yerel olarak test etmek için basit adımları izleyin:
Python
- komutuyla sanal ortam oluşturma
python -m venv .venv
- veya kullanarak
venv
.venv\Scripts\activate
etkinleştirmesource .venv/bin/activate
- komutuyla gerekli bağımlılığı yükleyin
pip install azure.identity
- Kodu ile yürütme
python <filename.py>
Node.JS
- Kaydettiğiniz dosyayla aynı klasörde aşağıdaki içeriğe sahip bir
package.json
dosya oluşturun:
{
"type": "module",
"dependencies": {
}
}
- Kimlik kitaplığının en son sürümünü yüklemek için paket yöneticinizde veya benzer bir komut çalıştırın
npm install --save @azure/identity
. - Kodu ile yürütme
node <filename>.js
Sorguların ve mutasyonların geliştirilmesi
Tek bir gönderiyi okumak veya tüm gönderileri listelemek için sorguları olan tek Post
bir türü tanımlayan aşağıdaki kısa GraphQL şemasını gözden geçirin. Ayrıca tüm CRUDL (oluşturma, okuma, güncelleştirme, silme, listeleme) kullanım örneklerini destekleyen gönderileri oluşturmak, güncelleştirmek veya silmek için mutasyonları tanımlar.
type Post {
id: ID!
title: String!
content: String!
author: String!
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
}
Şemada tanımlanan herhangi bir sorguyu kullanarak GraphQL aracılığıyla kullanıma sunulan verileri okuyabilirsiniz. Sorgu getPost
aşağıdaki örnekteki gibi görünmelidir.
query MyQuery {
getPost(id: "1234") {
title
content
author
}
}
Yanıt:
{
"data": {
"getPost": {
"title": "First Post",
"content": "This is my first post.",
"author": "Jane Doe"
}
}
}
Gerekli parametrelerle gönderi oluşturmak gibi createPost
mutasyonları kullanarak veri yazma.
mutation MyMutation {
createPost(title: "Second post", content: "This is my second post", author: "Jane Doe", published: false) {
id
title
content
author
}
}
Yanıt:
{
"data": {
"createPost": {
"id": "5678",
"title": "Second Post",
"content": "This is my second post.",
"author": "Jane Doe"
}
}
}
Sorgu değişkenleri
Tüm parametreleri sorgularınıza veya mutasyonlarınıza değişken olarak geçirmek için Sorgu sekmesinin sağ tarafındaki Sorgu değişkenleri bölmesini kullanın. Değişkenler, diğer programlama dillerindeki değişkenlerle aynı şekilde çalışır. Her değişkenin, içinde depolanan değere erişmek için kullanılan bir adla bildirilmesi gerekir. Önceki mutasyon örneğiyle, sorgu değişkenlerini kullanmak için biraz değiştirebilirsiniz.
mutation MyMutation ($title: String!, $content: String!, $author: String!){
createPost(title: $title, content: $content, author: $author) {
id
title
content
author
}
}
Bölmedeki değişkenleri aşağıdaki örnekte olduğu gibi tanımlayın.
{
"id": "5678",
"title": "Second Post",
"content": "This is my second post.",
"author": "Jane Doe"
}
Değişkenler mutasyon kodunu daha temiz hale getirir ve parametrelerin okunmasını, testini ve değiştirilmesini kolaylaştırır.