Maison >développement back-end >C++ >Comment transmettre un tableau d'entiers à une API Web ASP.NET ?

Comment transmettre un tableau d'entiers à une API Web ASP.NET ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-27 21:26:10328parcourir

How to Pass an Array of Integers to an ASP.NET Web API?

Envoi des tableaux entiers aux ASP.NET Web API: A Guide pratique

Ce guide montre comment transmettre efficacement un tableau d'entiers à une méthode d'action ASP.NET Web API. Nous allons aborder les pièges communs et fournir la syntaxe correcte pour le transfert de données sans couture.

Considérons une méthode d'action API Web conçue pour accepter un tableau entier:

<code class="language-csharp">public IEnumerable<category> GetCategories(int[] categoryIds)
{
    // Database retrieval logic for categories
}</code>

Une approche naïve pourrait impliquer une liste séparée dans la chaîne de requête URL:

<code>/Categories?categoryids=1,2,3,4</code>

Cela échoue cependant car ASP.NET traite les valeurs séparées des virgules comme paramètres distincts. La solution réside dans l'utilisation de l'attribut [FromUri] et l'ajustement de la structure d'URL.

Modifiez la méthode d'action pour lier explicitement le paramètre de l'URI:

<code class="language-csharp">public IEnumerable<category> GetCategories([FromUri] int[] categoryIds)
{
    // Database retrieval logic for categories
}</code>

Maintenant, le format URL correct, utilisant le codage d'URL, est:

<code>/Categories?categoryids=1&categoryids=2&categoryids=3&categoryids=4</code>

Cette méthode garantit une désérialisation appropriée du tableau entier sur le côté du serveur. Chaque entier du tableau est représenté comme un paramètre categoryids séparé.

Cette approche fournit une méthode claire et efficace pour passer des tableaux entiers à votre API Web ASP.NET, en tirant parti de l'attribut [FromUri] et du codage d'URL correctement formaté.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn