Développez une API RESTful avec ASP.NET Core : Un exemple de contrôleur
L'utilisation d'ASP.NET Core pour construire des API RESTful est une pratique courante, offrant aux développeurs un framework robuste et flexible. Cet article présente un exemple simple d'un contrôleur d'API dans ASP.NET Core qui illustre les concepts clés de la construction d'une API RESTful.
Créer un nouveau projet ASP.NET Core
Commencez par créer un nouveau projet ASP.NET Core. Vous pouvez utiliser Visual Studio ou la ligne de commande pour ce faire. Sélectionnez le modèle "API Web ASP.NET Core" lors de la création du projet.
Définir un contrôleur
Un contrôleur est une classe qui gère les requêtes HTTP entrantes et renvoie des réponses. Définissez un nouveau contrôleur nommé ProductController
dans votre projet. Ce contrôleur sera responsable de la gestion des opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) pour les produits.
using Microsoft.AspNetCore.Mvc;
namespace MyApi.Controllers
{
[ApiController]
[Route("[controller]")]
public class ProductController : ControllerBase
{
// ... Code du contrôleur ...
}
}
Définir des actions de contrôleur
Chaque méthode dans un contrôleur représente une action qui peut être appelée par une requête HTTP. Par exemple, vous pouvez définir des actions pour obtenir une liste de produits, obtenir un produit spécifique, créer un nouveau produit, mettre à jour un produit existant et supprimer un produit.
public class ProductController : ControllerBase
{
// Retourne une liste de produits
[HttpGet]
public IActionResult GetProducts()
{
// Logique pour récupérer les produits
var products = GetProductsFromDatabase(); // Remplacez par votre logique de récupération des données
return Ok(products);
}
// Retourne un produit spécifique
[HttpGet("{id}")]
public IActionResult GetProduct(int id)
{
// Logique pour récupérer le produit avec l'identifiant spécifié
var product = GetProductFromDatabase(id); // Remplacez par votre logique de récupération des données
if (product == null)
{
return NotFound();
}
return Ok(product);
}
// Crée un nouveau produit
[HttpPost]
public IActionResult CreateProduct([FromBody] Product product)
{
// Logique pour créer un nouveau produit
CreateProductInDatabase(product); // Remplacez par votre logique d'insertion des données
return CreatedAtAction("GetProduct", new { id = product.Id }, product);
}
// Met à jour un produit existant
[HttpPut("{id}")]
public IActionResult UpdateProduct(int id, [FromBody] Product product)
{
// Logique pour mettre à jour un produit existant
UpdateProductInDatabase(id, product); // Remplacez par votre logique de mise à jour des données
return NoContent();
}
// Supprime un produit existant
[HttpDelete("{id}")]
public IActionResult DeleteProduct(int id)
{
// Logique pour supprimer un produit existant
DeleteProductFromDatabase(id); // Remplacez par votre logique de suppression des données
return NoContent();
}
}
Attributs de routage
Les attributs [ApiController]
et [Route("[controller]")]
définissent le routage de base pour le contrôleur. [ApiController]
active les conventions d'API Web et [Route("[controller]")]
spécifie que le routage se fera à partir du nom du contrôleur. Les attributs [HttpGet]
, [HttpPost]
, [HttpPut]
, [HttpDelete]
définissent les méthodes HTTP prises en charge par chaque action.
Conclusion
Cet exemple simple illustre les fondamentaux de la création d'un contrôleur d'API dans ASP.NET Core. Il vous permet de commencer à construire des API RESTful avec ASP.NET Core, en gérant les opérations CRUD et en utilisant des attributs de routage. N'hésitez pas à expérimenter et à adapter cet exemple à vos besoins spécifiques.