C# passer plusieurs paramètres à une méthode d'obtention
-
Passer plusieurs paramètres à une méthode
Get
en utilisantController Action
enC#
-
Extrait de code pour passer plusieurs paramètres à une méthode
Get
en utilisant leAttribute Routing
-
Extrait de code pour passer plusieurs paramètres à une méthode
Get
en utilisant [FromQuery]
L’ASP.NET MVC est utilisé pour développer des applications web. L’API Web MVC et le cadre des pages Web sont maintenant fusionnés en un seul cadre appelé MVC 6. MVC est un modèle qui vous permet d’interagir avec le modèle, la vue et le contrôleur via des requêtes qui sont routées.
Dans cet article, nous discutons des différentes méthodes qui sont utilisées pour passer plusieurs paramètres à une méthode Get
dans un MVC controller
.
Passer plusieurs paramètres à une méthode Get
en utilisant Controller Action
en C#
Une controller action
est une méthode utilisée pour traiter les demandes entrantes. Elle retourne le résultat de l'action
. Le résultat de l'action
est la réponse aux demandes entrantes. Dans ce cas, nous avons utilisé l’action du contrôleur pour passer plusieurs paramètres à une méthode Get
.
Exemple de code:
public string Get(int? id, string FirstName, string LastName, string Address) {
if (id.HasValue)
GetById(id);
else if (string.IsNullOrEmpty(Address))
GetByName(FirstName, LastName);
else
GetByNameAddress(FirstName, LastName, Address);
}
Extrait de code pour passer plusieurs paramètres à une méthode Get
en utilisant le Attribute Routing
Dans le routage par attributs
, nous utilisons des attribute
pour définir les routes
. C’est une méthode recommandée car elle réduit les risques d’erreur. Elle vous donne plus de contrôle sur les URL de votre API Web.
La syntaxe correcte pour utiliser cette méthode est la suivante:
// Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
public string Get(int parameterOne, int parameterTwo) {
return $"{parameterOne}:{parameterTwo}";
}
}
Exemple de code:
// Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address) {
return $"{FirstName}:{LastName}:{Address}";
}
Extrait de code pour passer plusieurs paramètres à une méthode Get
en utilisant [FromQuery]
On utilise [FromQuery]
pour spécifier qu’un paramètre doit être lié à la chaîne
de la requête. C’est la propriété de la classe FromQueryAttribute
.
La syntaxe correcte pour utiliser cette propriété est la suivante:
[HttpGet]
public string GetByAttribute([FromQuery] string parameterOne, [FromQuery] string parameterTwo) {}
Exemple de code:
[Route("api/person")]
public class PersonController : Controller {
[HttpGet]
// Passing one parameter to the Get method
public string GetById([FromQuery] int id) {}
[HttpGet]
// Passing two parameters to the Get method
public string GetByName([FromQuery] string firstName, [FromQuery] string lastName) {}
[HttpGet]
// Passing multiple parameters to the Get method
public string GetByNameAndAddress([FromQuery] string firstName, [FromQuery] string lastName,
[FromQuery] string address) {}
}