İçeriğe geç
🛠️ToolsShed

GraphQL Query Formatter

GraphQL sorguları, mutasyonlar, abonelikler ve parçaları uygun girinti ile biçimlendirin ve güzelleştirin.

Bu araç hakkında

GraphQL, API'ler için güçlü bir sorgu dilidir, ancak karmaşık sorgular, mutasyonlar ve aboneliklerle çalışırken, ham metin okunması ve hata ayıklanması zor olabilir. Bir GraphQL Query Formatter, biçimlendirilmemiş veya yanlış biçimlendirilmiş GraphQL kodunuzu alır ve otomatik olarak uygun girintileme ve boşluk ekleyerek yeniden yapılandırır, bu da bir bakışta anlaşılmasını çok daha kolay hale getirir. Bu, API'lerle entegrasyon yapılırken, farklı sorgu yapıları test edilirken veya kodunuzu gözden geçirmesi gereken takım üyeleriyle işbirliği yaparken özellikle değerlidir.

Aracı kullanmak basittir: GraphQL sorgunuzu, mutasyonunuzu, aboneliğinizi veya fragmentınızı giriş alanına yapıştırın ve biçimlendirme düğmesini tıklayın. Biçimlendirici kodunuzu anında analiz eder, uygun girintileme ekler, iç içe alanları ve parametreleri hizalar ve tutarlı boşlandırma sağlar. Daha sonra güzel biçimlendirilmiş sonucu kopyalayabilir ve projelerinizde, belgelerinizde veya API test araçlarınızda kullanabilirsiniz. İç içe seçimler, takma adlar, değişkenler, yönerge ve satır içi fragmentler dahil olmak üzere karmaşık senaryoları işler.

Bu araç, Apollo Client, Relay veya herhangi bir GraphQL istemci kitaplığıyla çalışan geliştiriciler ve GraphQL sunucularını yöneten arka uç mühendisleri için özellikle yararlıdır. Elle biçimlendirmeye kıyasla zaman kazandırır ve API'nize istekleri göndermeden önce sözdizimi sorunlarını yakalamaya yardımcı olur. GraphQL öğreniyor olun, karmaşık bir sorguyu hata ayıklıyor olun veya kodu inceleme için hazırlıyor olun, güvenilir bir biçimlendirici sorgularınızın her zaman net ve profesyonel olmasını sağlar.

Sıkça Sorulan Sorular

Kod Uygulaması

def format_graphql(query: str, indent: int = 2) -> str:
    """Simple GraphQL formatter."""
    result = []
    depth = 0
    pad = " " * indent
    i = 0
    q = query.strip()

    while i < len(q):
        ch = q[i]
        if ch == '"':
            # Consume string
            j = i + 1
            while j < len(q):
                if q[j] == "\\" and j + 1 < len(q):
                    j += 2
                    continue
                if q[j] == '"':
                    j += 1
                    break
                j += 1
            result.append(q[i:j])
            i = j
            continue
        if ch == "{":
            result.append(" {\n")
            depth += 1
            result.append(pad * depth)
        elif ch == "}":
            depth = max(0, depth - 1)
            result.append("\n" + pad * depth + "}")
        elif ch in ("\n", "\r", " ", "\t"):
            if result and result[-1] not in ("\n", " ", "{\n"):
                result.append(" ")
        else:
            result.append(ch)
        i += 1

    return "".join(result).strip()


query = """
query GetUser($id: ID!) {user(id: $id) {id name email posts {title}}}
"""
print(format_graphql(query))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.