brick_rest 1.1.1 icon indicating copy to clipboard operation
brick_rest: ^1.1.1 copied to clipboard

RESTful API connector for Brick, a data persistence library. Includes annotations, adapter, model, and provider.

example/example.dart

import 'package:brick_core/core.dart';
import 'package:brick_rest/rest.dart';

/// This class and code is always generated.
/// It is included here as an illustration.
/// Rest adapters are generated by domains that utilize the brick_rest_generators package,
/// such as brick_offline_first_with_rest_build
class UserAdapter extends RestAdapter<User> {
  @override
  final fromKey = 'users';
  @override
  final toKey = 'user';

  @override
  Future<User> fromRest(data, {provider, repository}) async {
    return User(
      name: data['name'],
    );
  }

  @override
  Future<Map<String, dynamic>> toRest(instance, {provider, repository}) async {
    return {
      'name': instance.name,
    };
  }

  @override
  String restEndpoint({query, instance}) => '/users';
}

/// This value is always generated.
/// It is included here as an illustration.
/// Import it from `lib/app/brick.g.dart` in your application.
final dictionary = RestModelDictionary({
  User: UserAdapter(),
});

/// A model is unique to the end implementation (e.g. a Flutter app)
class User extends RestModel {
  final String name;

  User({
    this.name,
  });
}

class MyRepository extends SingleProviderRepository<RestModel> {
  MyRepository(String baseApiUrl)
      : super(
          RestProvider(
            baseApiUrl,
            modelDictionary: dictionary,
          ),
        );
}

void main() async {
  final repository = MyRepository('http://localhost:8080');

  final users = await repository.get<User>();
  print(users);
}
0
likes
130
pub points
46%
popularity

Publisher

unverified uploader

RESTful API connector for Brick, a data persistence library. Includes annotations, adapter, model, and provider.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

brick_core, http, logging, meta

More

Packages that depend on brick_rest