getCountryByCapitalCity static method
Search by capital city: Tokyo
, Rome
, Bankok
, London
, Kampla
Future<List<Country>> getCountryByCapitalCity(){
try{
List<Country> result = await CountryProvider.getCountryByCapitalCity("Delhi");
return result;
} catch(error) {
return null;
}
}
Implementation
static Future<List<Country>> getCountryByCapitalCity(String capitalName,
{CountryFilter? filter}) async {
if (capitalName.isNotEmpty) {
final uri = "$_baseUrl" +
Constants.countriesByCapitalCity +
capitalName +
filter.toFormattedUri;
// print(uri);
var response = await _client.get(Uri.parse(uri));
if (response.statusCode == 200) {
var countries = List<Country>.from(jsonDecode(response.body)
.map((x) => x != null ? Country.fromJson(x) : null));
return countries;
}
throw new Exception(
"No country found. Please check if https://restcountries.eu is avialable.");
} else {
throw Exception("Capital can not be empty");
}
}