.net Core Get Parameter From Body

5 min read Jun 03, 2024
.net Core Get Parameter From Body

Obtenir des paramètres du corps dans ASP.NET Core

ASP.NET Core est un framework Web open source puissant qui offre de nombreuses fonctionnalités pour la création d'applications Web modernes. L'une des fonctionnalités clés est la capacité d'extraire des données du corps des requêtes HTTP. Dans cet article, nous allons explorer les différentes manières d'obtenir des paramètres du corps dans ASP.NET Core.

Pourquoi extraire des paramètres du corps ?

Lorsque vous créez une API Web, vous devez souvent recevoir des données des clients. Ces données sont généralement transmises dans le corps de la requête HTTP. Pour traiter ces données, vous devez les extraire du corps et les utiliser dans votre code.

Méthodes d'extraction des paramètres du corps

Il existe plusieurs méthodes pour extraire des paramètres du corps dans ASP.NET Core:

1. Utilisation de l'attribut [FromBody]:

Cette méthode est la plus courante pour extraire les paramètres du corps. Vous devez simplement décorer le paramètre de votre méthode d'action avec l'attribut [FromBody].

[HttpPost]
public IActionResult CreateProduct([FromBody] Product product)
{
  // Traitez les données du produit
  return Ok();
}

2. Utilisation de l'attribut [FromForm]:

Cette méthode est utilisée lorsque vous souhaitez extraire les données d'un formulaire HTML. L'attribut [FromForm] indique à ASP.NET Core que les données du corps sont au format formulaire.

[HttpPost]
public IActionResult SubmitForm([FromForm] string name, [FromForm] int age)
{
  // Traitez les données du formulaire
  return Ok();
}

3. Lecture manuelle du corps de la requête:

Vous pouvez également lire le corps de la requête manuellement en utilisant la propriété Request.Body du contexte de la requête. Cependant, cette méthode est moins courante et n'est recommandée que si les autres méthodes ne conviennent pas.

[HttpPost]
public async Task ReadBody()
{
  // Lire le corps de la requête
  using (var reader = new StreamReader(Request.Body))
  {
    string body = await reader.ReadToEndAsync();
    // Traitez les données du corps
  }
  return Ok();
}

4. Utilisation de la classe Request.Form:

Cette méthode est similaire à l'utilisation de l'attribut [FromForm] mais vous permet d'extraire les données du formulaire en tant que dictionnaire.

[HttpPost]
public IActionResult ReadForm()
{
  // Extraire les données du formulaire
  string name = Request.Form["name"];
  int age = int.Parse(Request.Form["age"]);
  // Traitez les données du formulaire
  return Ok();
}

Conseils pour extraire les paramètres du corps

  • Utilisez un format de données standard: Pour garantir la compatibilité et la simplicité, il est recommandé d'utiliser un format de données standard comme JSON ou XML pour les données du corps.
  • Validez les données: Avant de traiter les données, assurez-vous de valider les données du corps pour détecter les erreurs et les données invalides.
  • Utilisez des modèles de données: Pour améliorer la lisibilité et la maintenabilité, utilisez des modèles de données pour représenter les données du corps.

Conclusion

Extraire des paramètres du corps est une tâche essentielle lors de la création d'API Web avec ASP.NET Core. En utilisant les méthodes appropriées, vous pouvez facilement extraire les données du corps et les utiliser pour alimenter vos applications. N'oubliez pas de valider les données et de choisir le format de données approprié pour garantir la fiabilité de votre API.

Related Post