Kiểm tra và format GraphQL online

Format GraphQL, kiểm tra query theo schema (SDL hoặc introspection), đo độ sâu và độ phức tạp, so sánh schema tìm thay đổi phá vỡ, SDL ↔ JSON.

Công cụ miễn phí: 20 request mỗi phút.

Kết quả

Bấm “Chạy” để xem kết quả.

Bộ công cụ dựa trên graphql-js 17, bản triển khai chuẩn của GraphQL. action=format định dạng lại query hoặc tài liệu SDL. validate kiểm tra query theo schema (văn bản SDL hoặc kết quả introspection), trả về mọi lỗi kèm dòng và cột, cùng danh sách trường được dùng (dạng Type.field) và trường nào đã bị deprecated. Lỗi cú pháp luôn có vị trí. analyze liệt kê các operation, biến, fragment, và cho mỗi operation: độ sâu, số trường, số alias và điểm phức tạp có tính danh sách (số trường nhân với đối số first / last / limit); max_depth và max_complexity biến nó thành phép kiểm tra đạt / không đạt cho gateway.

stats tóm tắt schema: số kiểu theo loại, số trường, các query, mutation, subscription kèm đối số, directive tự định nghĩa và trường deprecated. diff so sánh old_schema với new_schema và phân loại thay đổi thành phá vỡ (xoá trường, đối số thành bắt buộc…), nguy hiểm (thêm đối số tuỳ chọn, thêm giá trị enum…) và an toàn. to-sdl chuyển JSON introspection sang SDL (sort=true để sắp xếp kiểu và trường), to-introspection làm ngược lại, còn sample sinh query mẫu cho một trường của Query hoặc fragment cho một kiểu.

Giới hạn: 2 MB mỗi tài liệu, 200.000 token. API không thực thi gì: query của bạn không bao giờ được gửi tới máy chủ nào.

Dùng trong code của bạn

curl -X POST "https://apibox.io.vn/v1/graphql-tools" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"schema":"type Book {\n  id: ID!\n  title: String\n  isbn: String @deprecated(reason: \"use id\")\n}\n\ntype Query {\n  book(id: ID!): Book\n}","query":"{ book(id: 1) { title isbn price } }"}'

Tài liệu API → Nhận API key miễn phí

Hỏi đáp

API có chạy query của tôi không?

Không. API chỉ phân tích và kiểm tra tài liệu theo schema bạn gửi, không gửi request nào tới máy chủ GraphQL của bạn.

Độ phức tạp được tính thế nào?

Mỗi trường được chọn tính 1, nhân với giá trị số nguyên của các đối số first, last, limit, take, pageSize hoặc top ở các trường cha. Fragment được mở rộng một lần và vòng lặp bị cắt.

Có thể gửi schema dạng JSON introspection không?

Có, với mọi thao tác: truyền kết quả JSON của truy vấn introspection (có __schema hoặc data.__schema) thay cho SDL.