feature_api_client 1.0.0 copy "feature_api_client: ^1.0.0" to clipboard
feature_api_client: ^1.0.0 copied to clipboard

A feature-based type-safe network client over `net_client` package.

example/example.dart

import 'package:feature_api_client/feature_api_client.dart';
import 'package:net_client/net_client.dart';
import 'package:net_models/net_models.dart';

class MyRequest {
  final String id;

  MyRequest(this.id);
}

class MyResponse {
  final String data;

  MyResponse(this.data);
}

class MyError {
  final String message;

  MyError(this.message);
}

class MyClient extends FeatureApiClient<MyRequest, MyResponse, MyError> {
  MyClient(super.client);

  @override
  RequestSpec createRequest(MyRequest body) => RequestSpec(
        pathOrUrl: 'https://api.example.com/${body.id}',
        method: HttpMethod.GET,
      );

  @override
  ApiResponse<MyError, MyResponse> decodeResponse(
    NetClientResponse response,
  ) =>
      SuccessResponse(
        data: MyResponse(response.data.toString()),
        statusCode: response.statusCode,
        headers: response.headers,
      );
}

void main() {
  print('FeatureApiClient ready');
}
0
likes
150
points
118
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A feature-based type-safe network client over `net_client` package.

Homepage
Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

dart_functionals, equatable, meta, net_client, net_models

More

Packages that depend on feature_api_client