graphql_inspector 1.0.1 copy "graphql_inspector: ^1.0.1" to clipboard
graphql_inspector: ^1.0.1 copied to clipboard

This package helps to inspect GraphQL requests just like other network inspection packages for REST APIs

graphql_inspector #

A Flutter package to intercept and inspect GraphQL API requests and responses โ€” inspired by tools like Chucker for Android and Postman. Ideal for debugging GraphQL requests in development builds.

๐Ÿ“ Folder Structure #

graphql_inspector/
โ”œโ”€โ”€ lib/
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ GraphQLLogScreen.dart
โ”‚       โ””โ”€โ”€ LoggingLink.dart
โ”œโ”€โ”€ test/
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pubspec.yaml
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ CHANGELOG.md
โ””โ”€โ”€ ...

โœจ Features #

  • ๐Ÿ“ฆ Logs every GraphQL query, mutation, and variables
  • ๐ŸŽฏ Displays request time and response neatly
  • ๐Ÿงพ Pretty JSON viewer with syntax highlighting
  • ๐Ÿ”„ Export GraphQL requests as cURL commands
  • ๐Ÿ“‹ Copy/share requests directly from your Flutter UI
  • ๐Ÿ’ก Useful for QA, debugging, and API development

๐Ÿ“ธ Screenshots #

Query View Response View cURL Export
query response curl

๐Ÿš€ Getting Started #

1. Add dependency #

dependencies:
  graphql_inspector: ^1.0.0

2. Usage #

Import the package and wrap your GraphQL client with the LoggingLink. You can then use the GraphQLLogScreen widget to view logged requests and responses in your app.

import 'package:flutter/material.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:graphql_inspector/graphql_inspector.dart';
import 'package:hive_flutter/hive_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Hive.initFlutter();

  final httpLink = HttpLink(
    'https://your.graphql.api/graphql',
    defaultHeaders: {'Authorization': 'Bearer YOUR_TOKEN', 'store': 'en_sa'},
  );

  final loggingLink = LoggingLink(
    innerLink: httpLink,
    url: 'https://your.graphql.api/graphql',
    headers: {'Authorization': 'Bearer YOUR_TOKEN', 'store': 'en_sa'},
  );

  final client = GraphQLClient(link: loggingLink, cache: GraphQLCache());

  runApp(MyApp(client: client));
}

class MyApp extends StatelessWidget {
  final GraphQLClient client;
  const MyApp({super.key, required this.client});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('GraphQL Inspector Example')),
        body: Center(
          child: Builder(
            builder: (context) => ElevatedButton(
              child: const Text('Open Inspector'),
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (_) => const GraphQLLogScreen()),
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}

- Replace the API URL and headers with your own.
- Use the `GraphQLLogScreen` widget anywhere in your app to inspect requests and responses.
0
likes
130
points
35
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

This package helps to inspect GraphQL requests just like other network inspection packages for REST APIs

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_html, gql, graphql_flutter, json_annotation

More

Packages that depend on graphql_inspector