Aracılığıyla paylaş


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.

Doku ekranının sol alt köşesinde Sorgu seçeneğinin nerede göründüğünü gösteren ekran görüntüsü.

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.

Çalıştır, Sorgu değişkenleri ve Sonuçlar bölmelerine ayrılmış bir Sorgu sekmesine sahip api düzenleyicisi ekranının ekran görüntüsü.

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:

Kod oluştur seçeneğini açtıktan sonra API düzenleyicisi ekranının ekran görüntüsü.

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
  1. komutuyla sanal ortam oluşturma python -m venv .venv
  2. veya kullanarak venv .venv\Scripts\activate etkinleştirme source .venv/bin/activate
  3. komutuyla gerekli bağımlılığı yükleyin pip install azure.identity
  4. Kodu ile yürütme python <filename.py>
Node.JS
  1. Kaydettiğiniz dosyayla aynı klasörde aşağıdaki içeriğe sahip bir package.json dosya oluşturun:
{
  "type": "module",
  "dependencies": { 
  }
}
  1. 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 .
  2. 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.