J'utilise l'API WEB .NET CORE 3+.
Vous trouverez ci-dessous la façon dont mon action ressemble au ci-dessous, elle utilise HTTP GET et je souhaite passer quelques champs et l'un des champs est une liste d'entiers. p> et voici existe-t-il une manière générique que je peux utiliser Acceptez la liste des entiers comme entrée et non accepter la chaîne, puis analysez-le? p> ou y a-t-il un meilleur moyen de le faire? J'ai essayé de googler mais je ne pouvais pas trouver grand chose. Merci d'avance. P> p> citysquery code> classe - p>
3 Réponses :
Je pense que vous devez juste avoir besoin d'utiliser [fromuri] code> strud> avant le paramètre de tableau Int:
/cities?stateList=1&stateList=2&stateList=3
Je veux passer les Stadids = 1,2,3
@YASSERSHAIKH C'est un paramètre de chaîne nommé StideIDs code> avec valeur
1,2,3 code>. Il n'y a pas de convention sur les tableaux de valeur de passage dans les paramètres de requête
Vous pouvez jeter un coup d'oeil à ce message: Stackoverflow.com/Questtions/9584573/...
Ceci peut aider mais la chaîne de requête changera à
https: // localhost / API / contrôleur / villes? Stasids = 1 & Stadids = 2 & Stadids = 3 P> Si vous avez besoin d'une chaîne de requête séparée par des virgules avec entier, vous pouvez opter pour Custom Model Binder P> HTTPS: // docs.microsoft.com/en-us/aspnet/core/mvc/advanced/custom-model-binding?view=aspnetcore-3.1 p> p>
Vous pouvez utiliser une liaison de modèle personnalisée, ci-dessous est une démonstration de travail:
Modèle: P>
[HttpGet] [Route("cities")] public ActionResult GetCities([ModelBinder(BinderType = typeof(CustomModelBinder))] CityQuery query) { return View(); }
Bonjour @yasser Shaikh, cette réponse peut-elle vous aider à résoudre le problème?
Il n'y a pas de convention sur les tableaux de valeur de passage dans les paramètres de requête. Chaque langue et cadre utilise ses propres conventions. Avez-vous essayé
[fromuri] int [] Stateelist code>? Comment voulez-vous transmettre ces paramètres?
La convention ASP.NET COE consiste à autoriser plusieurs instances de paramètres, par exemple
IDS = 1 & IDS = 2 & IDS = 3 code> et les lier à un seul
IDS code>