https://d226lax1qjow5r.cloudfront.net/blog/blogposts/announcing-net-sdk-version-5-0-0/Blog_SDK-Updates_1200x600.png

Annonce de la version 5.0.0 du SDK .NET

Temps de lecture : 3 minutes

Je suis heureux d'annoncer la sortie de notre nouveau .NET 5.0.0 SDK. Il s'agit de ma première version majeure depuis que j'ai rejoint l'équipe Platform & Developer Experience de Vonage l'année dernière, et je suis impatient de partager ce qu'il y a de nouveau.

Nouvelles fonctionnalités

Nous avons ajouté quelques nouvelles fonctionnalités au SDK .NET, en voici une énumération.

Reconstruction du SDK autour des conventions .NET

Les anciennes versions du SDK ne semblaient pas très ".NET", cette version corrige cela.

  • Nous avons abstrait tous les appels d'API derrière des interfaces permettant une substitution facile via l'injection de dépendance pour vos tests. Par exemple, la classe SMS des anciens SDK est remplacée par l'interface ISmsClient que vous pouvez utiliser ou remplacer à votre guise.

  • Toutes les nouvelles structures et API sont désormais conformes aux conventions de dénomination .NET. En outre, nous avons introduit de nombreux nouveaux enums afin de supprimer certains champs de chaîne ouverts. Nous avons préservé les anciennes structures mais les avons marquées comme obsolètes pour vous rappeler de mettre à jour la dernière version, ce qui facilitera la mise à niveau.

Nouvelle méthodologie d'enregistrement

Un nouveau moyen de journalisation a été ajouté au SDK construit autour de Microsoft.Extensions.Logging. Ainsi, vous pouvez configurer la journalisation du SDK pour utiliser le format de journalisation que vous souhaitez ; vous pouvez le rendre aussi conforme à vos propres journaux que vous le souhaitez, et il n'est pas nécessaire de journaliser les sorties de notre SDK dans vos fichiers journaux.

Voir mon explicatif sur la façon dont cela est structuré et sur la façon dont vous pouvez commencer à vous connecter avec vos propres logs !

Ajout d'un fichier de documentation sommaire

Le SDK est désormais accompagné d'un fichier docs récapitulatif pour vous permettre de déterminer plus facilement comment construire vos applications.

Nouvelle méthodologie de traitement des erreurs

En cas d'erreur, tous les appels à l'API génèrent une exception contenant une description de la meilleure façon possible de ce qui n'a pas fonctionné. Cela inclut toutes les réponses 4xx, 5xx et les erreurs de l'API SMS, Numbers, Numbers Insightet Verify qui peuvent répondre par une réponse 200 OK et un code d'erreur. Toutes ces exceptions seront du type NexmoException (Sous-Types NexmoSmsResponseException, NexmoNumberInsightResponseException, NexmoNumberResponseException, NexmoVerifyResponseException) ou NexmoHttpRequestException.

Des erreurs similaires seront également générées pour les anciennes API.

Sous le capot

Nous avons également apporté quelques améliorations significatives sous le capot qui seront moins pertinentes pour interagir avec l'API, mais qui peuvent néanmoins être intéressantes.

Méthodes de requête interne remaniées

Nous avons remanié toutes les méthodes internes ApiRequest pour les rendre plus conviviales et génériques. Vous pouvez jeter un coup d'œil ici.

Remarque : ces méthodes ne sont pas considérées comme faisant partie de l'API publique du SDK et peuvent être modifiées sans préavis.

Tests unitaires

Nous avons ajouté une toute nouvelle suite de tests unitaires pour éviter que les choses ne se cassent en cours de route. La couverture des tests unitaires est passée de 33 % dans la version 4.4.0 à 87 % dans la version 5.0. Pratiquement tout ce qui n'est pas testé est soit hérité, soit un fichier tiers que nous avons incorporé dans le SDK.

Rupture des changements

Nous avons fait de notre mieux pour que la mise à niveau vers la version 5.0 soit aussi transparente que possible.

Les nouvelles structures ne devraient pas affecter les utilisateurs actuels du SDK, même si j'encourage tout le monde à tenir compte des avertissements d'obsolescence. Cela dit, il y a quelques ruptures entre la version 4.x et la version 5.x dont vous devez être conscient.

  • Nous avons supprimé LibLog, ainsi sans action de la part du développeur les logs cesseront d'être mélangés avec les logs du développeur.

  • De nouvelles exceptions seront lancées en cas d'erreur rencontrée lors d'un appel à l'API, y compris les réponses 200 avec des codes d'erreur.

Il y a plus à venir

Cette nouvelle bibliothèque constitue un changement radical pour le SDK .NET, mais ce n'est qu'un début. Nous avons encore beaucoup à venir et j'ai hâte de vous en dire plus à l'avenir !

D'ici là, si vous avez des questions, n'hésitez pas à nous retrouver sur notre communauté slack.

Ressources

  • Vous pouvez trouver notre paquetage NuGet ici

  • Notre SDK est maintenu dans GitHubN'hésitez pas à venir l'explorer, à ouvrir un problème si vous en rencontrez un, ou peut-être même à contribuer à l'effort !

Partager:

https://a.storyblok.com/f/270183/384x384/73d57fd8eb/stevelorello.png
Steve LorelloAnciens de Vonage

Ancien développeur .NET Advocate @Vonage, ingénieur logiciel polyglotte full-stack, AI/ML