retrolite 1.1.2 retrolite: ^1.1.2 copied to clipboard
A RESTful API client for Dart and Flutter, with a simple API syntax, without reflection.
example/retrolite_example.dart
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:http/io_client.dart';
import 'package:retrolite/Secrets.dart';
import 'package:retrolite/flutuate_api.dart';
import 'package:retrolite/retrolite.dart';
import 'reqres/RegisterContent.dart';
import 'reqres/ReqResApi.dart';
import 'tmdb/TmdbApi.dart';
main() async {
await listMoviesGenresFromTmdbApi();
await registerFromReqResApi();
}
void listMoviesGenresFromTmdbApi() async {
print('Calling TMDB api...\n');
Retrolite retrolite = Retrolite(
'https://api.themoviedb.org/3/',
httpClientCreator: newHttpClient,
);
Secrets secrets = await Secrets.loadFromFile();
if (secrets.containsKey('tmdb_token')) {
TmdbApi api =
retrolite.register<TmdbApi>(new TmdbApi(secrets['tmdb_token']));
await api.genresForMovies().then((response) {
for (var genre in response.body.genres) {
print(genre.toJson());
}
});
} else {
print(
'Please, specifies you TMDB API token in "resources/secrets.json" file.');
}
print('');
}
void registerFromReqResApi() async {
print('Calling REQ|RES api...\n');
Retrolite retrolite = Retrolite(
'https://reqres.in',
httpClientCreator: newUnsafeHttpClient,
);
ReqResApi api = retrolite.register<ReqResApi>(new ReqResApi());
RegisterContent content = new RegisterContent('eve.holt@reqres.in', 'pistol');
await api.register(content).then((response) {
print(response.body.toJson());
});
print('');
}
/// Returns an instance of the default http client.
http.BaseClient newHttpClient() {
return newDefaultHttpClient();
}
/// Returns an http client that ignores unsafe SSL certificates.
http.BaseClient newUnsafeHttpClient() {
final bool trustSelfSigned = true;
HttpClient httpClient = new HttpClient()
..badCertificateCallback =
((X509Certificate cert, String host, int port) => trustSelfSigned);
return new IOClient(httpClient);
}