Exigences : Scalar est très puissant et peut générer automatiquement du code d’appel HTTP dans différents langages à partir de la documentation API, en utilisant Scalar au lieu de Swagger pour afficher la documentation API.
Après la sortie de .NET 9 ASP.NET l’équipe officielle de Core a annoncé que Swashbuckle.AspNetCore (un projet fournissant l’outil Swagger pour l’API ASP.NET Core) serait retiré du modèle ASP.NET Core Web API. Cela signifie qu’à l’avenir, lorsque nous créerons des projets Web API, la documentation de l’API Swagger ne sera plus générée automatiquement. Aujourd’hui, essayons donc d’utiliser Scalar pour la documentation interactive de l’API dans notre projet EasySQLite .NET 9.
Lien:La connexion hyperlientérée est visible.
Les raisons de la destitution de Swagger peuvent se résumer ainsi :
- Entretien médiocre de Swashbuckle : Le projet Swashbuckle n’est plus activement maintenu par les propriétaires de communautés, de nombreux problèmes restent non résolus, et une version officielle compatible avec .NET 8 n’a pas été publiée.
- En ce qui concerne Microsoft.AspNetCore.OpenAPI : l’équipe ASP.NET Core va renforcer les capacités de Microsoft.AspNetCore.OpenApi pour remplacer Swashbuckle et permettre la génération de documentation OpenAPI.
- Alternatives existantes : Outre Swashbuckle, d’autres projets comme NSwag prennent en charge la génération de documentation OpenAPI et la génération de code client/serveur, permettant aux développeurs de choisir la solution appropriée en fonction des besoins du projet.
- Soutien API intégré amélioré : À partir de ASP.NET Core 3.1, le framework a fourni un support de métadonnées tel qu’ApiExplorer. Combiné au support intégré de fichiers .http par Visual Studio et Visual Studio Code, l’expérience de test et de débogage d’API est encore meilleure.
- Promouvoir OpenAPI comme composante centrale : ASP.NET’équipe Core prévoit d’améliorer encore l’intégration OpenAPI dans .NET 9, en faisant un composant central axé sur la génération de documentation OpenAPI au format JSON.
Scalaire
Scalar est un outil puissant et facile à utiliser, de génération de clients et de documentation API, adapté aux projets API de toutes tailles, prenant en charge de multiples langages et plateformes de programmation.
Adresse Open Source :La connexion hyperlientérée est visible.
ASP.NET Core intègre le scalaire
Documentation intégrée :La connexion hyperlientérée est visible.
Créez un projet ASP.NET Core 9, référencé comme suit :
Ajoutez des services et des middlewares scalaires dans Program.cs, avec le code suivant :
Modification WeatherForecastController.cs contrôleur, code comme suit :
Lancez le projet, ouvrez votre navigateur et visitez :http://localhost:5088/api-docs, comme montré dans la figure ci-dessous :
Vous pouvez choisir de générer un code d’appel spécifique pour des bibliothèques HTTP dans différents langages. Prenant la bibliothèque HttpClient C# comme exemple, le code généré est le suivant :
Il prend également en charge les tests d’interface en ligne. Cliquez sur le bouton Demande de test, remplissez les données du post, puis cliquez sur envoyer pour envoyer la demande, comme indiqué ci-dessous :
Personnalisez le client HTTP par défaut. Pour les équipes C#, nous voulons ouvrir l’interface de documentation de l’API, qui affiche automatiquement le code d’appel HttpClient C#. Si vous ne souhaitez pas sélectionner manuellement à chaque première fois, configurez comme suit :
Supprimez la fonction Ask AI et supprimez le bouton Ask AI Agent. Cette fonctionnalité semble un peu redondante. Le code est le suivant :
Comme montré ci-dessous :
Après suppression, comme montré ci-dessous :
De même, désactivez la fonctionnalité MCP, codez comme suit :
La configuration complète est la suivante :
Ajouter l’authentification JWT et conserver l’en-tête de requêteJeton porteur
Ajoutez les exigences de sécurité à toute la documentation OpenAPI, code comme suit :
Comme montré ci-dessous :
OpenID Connect (OIDC) :La connexion hyperlientérée est visible.
Référence:
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible. |