Utiliser des ressources globales dans des API .net Core 2.2

Généralement les API doivent renvoyer des codes ou les informations que les utilisateurs ont saisie , dans la langue de l’application. Mais certaines ressources doivent être gérés par l’application, en particulier les messages liés aux erreurs applicatives. Pour être le plus générique et permettre aux API d’être localisable il est possible d’utiliser les ressources . net pour stocker les messages par langue.

Il y’a peu de choses à faire car le Framework gère tout , il faut :

  1. Dans la configuration des services de l’application (Startup.ConfigureServices) ajouter la “Localization” et le chemin où sont stockés les fichiers ressources. Dans mon exemple ils sont dans le sous dossier “Resources” à la racine de l’application
  2. Dans la configuration de l’application, il faut ajouter les cultures disponibles dans l’application et celle par défaut.

Maintenant il est possible grâce à l’injection de dépendance d’accéder au service de localization (IStringLocalizerFactory) et de récupérer la ressource voulu, dans l’exemple ci-dessous c’est la ressource nommé “Message” que je veux récupérer :