Gazelle Client

A flexible and powerful Dart client for interacting with Gazelle backend APIs.

Features

  • Easy-to-use API client for Gazelle backend applications
  • Support for all major HTTP methods (GET, POST, PUT, PATCH, DELETE)
  • Built-in error handling with custom exceptions
  • Flexible serialization and deserialization of API responses
  • Query parameter support for GET requests
  • Fluent interface for building API paths

Getting started

Add gazelle_client to your pubspec.yaml:

dependencies:
  gazelle_client: ^1.0.0

Then run dart pub get

Usage

Here's a simple example of how to use the Gazelle Client:

import 'package:gazelle_client/gazelle_client.dart';

void main() async {
  final client = GazelleClient.init(
    baseUrl: 'https://api.example.com',
    modelProvider: YourModelProvider(),
  );

  // GET request
  final user = await client.api('users').get<User>(queryParams: {'id': 1});

  // POST request
  final newUser = User(name: 'John Doe', email: 'john@example.com');
  final createdUser = await client.api('users').post<User>(body: newUser);

  // Don't forget to close the client when you're done
  client.api.close();
}

Additional information

For more detailed information on using the Gazelle Client, please refer to our documentation.

Error Handling

The client includes built-in error handling. If a request fails, it will throw a GazelleApiClientException with details about the error.

Custom Model Providers

You need to implement your own GazelleModelProvider to handle serialization and deserialization of your specific models or generate it with the Gazelle CLI.

Libraries

gazelle_client