Ich stelle seit einiger Zeit NuGet-Packages bereit. Erst in den vergangenen Wochen habe ich mehrerer meiner Pakete auf den neusten Stand gebracht. Aber auch neue NuGet-Packages entstehen. Heute möchte ich euch RESTCountriesSharp vorstellen. Es gibt die Webseite restcountries.com und wie der Name vermuten lässt, bekommt man hier zahlreiche Informationen über die Länder der Welt. Mit RESTCountriesSharp gibt es nun einen Wrapper, um die API bequem in jedem C#-Projekt zu nutzen.
Um das Package zu nutzen, müsst ihr dieses einfach nur eurem Projekt hinzufügen. Anschließend erstellt ihr euch eine Instanz des RESTCountriesService
oder ihr nutzt für Dependency Injection das passende Interface.
Der Service stellt nun die folgenden Methoden zur Verfügung:
/// <summary>
/// Get all countries.
/// </summary>
Task<IEnumerable<Country>> GetAllCountriesAsync();
/// <summary>
/// Search by country name.
/// </summary>
Task<IEnumerable<Country>> GetCountriesByNameAsync(string name);
/// <summary>
/// Search by country's full name.
/// It can be the common or official value
/// </summary>
Task<Country> GetCountryByFullNameAsync(string fullName);
/// <summary>
/// Search by cca2, ccn3, cca3 or cioc country code.
/// </summary>
Task<Country> GetCountryByCodeAsync(string code);
/// <summary>
/// Search by cca2, ccn3, cca3 or cioc country code.
/// </summary>
Task<IEnumerable<Country>> GetCountriesByCodesAsync(IEnumerable<string> codes);
/// <summary>
/// Search by currency code or name.
/// </summary>
Task<IEnumerable<Country>> GetCountriesByCurrencyAsync(string currency);
/// <summary>
/// Search by language code or name.
/// </summary>
Task<IEnumerable<Country>> GetCountriesByLanguageAsync(string language);
/// <summary>
/// Search by capital city
/// </summary>
Task<IEnumerable<Country>> GetCountriesByCapitalAsync(string capital);
/// <summary>
/// Search by region.
/// </summary>
Task<IEnumerable<Country>> GetCountriesByRegionAsync(string region);
/// <summary>
/// Search by subregions.
/// </summary>
Task<IEnumerable<Country>> GetCountriesBySubregionAsync(string subregion);
Der gesamte Code ist auch auf GitHub verfügbar und ich habe auch eine kleine Konsolen-Applikation geschrieben, die zeigt, wie ihr den Service nutzen könnt.