
Partager:
Ancien développeur .NET Advocate @Vonage, ingénieur logiciel polyglotte full-stack, AI/ML
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
ISmsClientque 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.