mardi 18 août 2020

Créer une application Web API RETSful HTTP

C'est quoi une application Web API RESTful HTTP ? Et quelles différences il y a-t-il entre ASP.NET Framework et ASP.NET Core pour ce type d'application ?

C'est ce que je vais essayer de décrire dans ce post. Déjà créons ces deux template d'application avec Visual Studio 2019.

Un peu de lecture : JDN - C'est quoi RESTful ?

Créer une application ASP.NET Standard RESTful HTTP

Voici l'écran que nous propose Visual Studio Community 2019:

Create an ASP.NET Web Application - Web API

Cherchons un peu de doc sur les applications ASP.NET Web API, je trouve un article intéressant :

TutorialsTeacher - ASP.NET Web API Tutorials

Une application ASP.NET Web API peut être accéder par n'importe quel type de client y compris les appareils mobiles tout se passe dans l'url.

Voici la structure de l'application :

ASP.NET Web API - Structure

Avec le contenu de quelques fichiers remarquables ...

Global.asax.cs


ASP.NET Web API - Global.asax

Controllers ValueController.cs


ASP.NET Web API - ValuesController dérive de l'ApiController

Dans le Get, je modifie le valeur "value" par "Ici c'est ma valeur".

Modification de "value" par "Ici c'est ma valeur"


Je lance une exécution de l'application :


ASP.NET Web API - Exécution de l'application

Et quand je requête l'url :

https://localhost:44398/api/values/5

ASP.NET Web API - Requête de l'url : api/values/5

Ce qui est bien le résultat escompté. J'ai mis 5 dans la requête le code m'indique que j'aurais pu mettre n'importe quelle valeur du paramètre id de Get( in id ) cela n'aurait rien changé c'est simplement une préparation pour l'avenir.

Tout ceci est paramétrable les "routes" sont configurables dans le fichier RouteConfig.cs :

ASP.NET Web API - RouteConfig.cs

Bon, je dirais que le plus embêtant, c'est que c'est du Razor ...Grrr

Ce qui est amusant et intéressant concernant ce type d'application c'est l"onglet "API" nous avons des pages d'aides concernant l'utilisation de l'API :

ASP.NET Web API - Les Pages d'Aide auto-descriptives de l'API
Si je clique sur la page d'aide concernant le GET api/values/{id} :

ASP.NET Web API - Page d'Aide de GET api/values/{id}
Voilà j'ai fait le tour complet je peux ajouter mon propre controller et gérer les données que je souhaite.

Qu'en est-il des applications ASP.NET Core Web API

Voici l'écran de Visual Studio Community 2019 :

ASP.NET Core Web API

Si je cherche un peu de doc j'arrive ici :


L'exemple n'est pas le même pas besoin, il y un controller on va dire qui retourne des objets structurés: 

ASP.NET Core Web API - WeatherForecastController
Qui fait que quand on requête l'url :

https://localhost:<port>/WeatherForecast

l'application nous rend une liste l'objet de type WeatherForecast.

La suite du didacticiel nous fait ajouter un objet TodoItem et son utilisation dans une base de données grâce à l'EntityFrameworkCore. Je vous conseille également l'utilisation de Postman qui un outil qui permet de tester les API c'est très complet.

Voilà c'est tout pour les applications ASP.NET Core RESTful. Nous venons de faire un tour rapide des applications Web API avec Visual Studio 2019.

Rien de très nouveau sous le soleil.

Aucun commentaire:

Enregistrer un commentaire