C# pasa múltiples parámetros a un método get
-
Pasar múltiples parámetros a un método
Get
usando laController Action
enC#
-
Fragmento de código para pasar múltiples parámetros a un método
Get
usando elAttribute Routing
-
Fragmento de código para pasar múltiples parámetros a un método
Get
usando[FromQuery]
ASP.NET MVC
se utiliza para desarrollar aplicaciones web. La API web de MVC
y el marco de páginas web
se han fusionado en un marco llamado MVC 6
. MVC es un patrón que permite interactuar con el modelo, la vista y el controlador a través de peticiones que son enrutadas.
En este artículo, estamos haciendo para discutir varios métodos que se utilizan para pasar múltiples parámetros a un método Get
en un controlador MVC
.
Pasar múltiples parámetros a un método Get
usando la Controller Action
en C#
Una controller action
es un método que se utiliza para manejar las peticiones entrantes. Y devuelve el resultado de la acción
. El resultado de la acción
es la respuesta a las peticiones entrantes. En este caso, hemos usado la acción del controlador para pasar múltiples parámetros a un método Get
.
Código de ejemplo:
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);
}
Fragmento de código para pasar múltiples parámetros a un método Get
usando el Attribute Routing
En attribute routing
, usamos atributos
para definir routes
. Es un método recomendado porque reduce las posibilidades de error. Te da más control sobre las URL
en tu Web API
.
La sintaxis correcta para usar este método es la siguiente:
// Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
public string Get(int parameterOne, int parameterTwo) {
return $"{parameterOne}:{parameterTwo}";
}
}
Código de ejemplo:
// Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address) {
return $"{FirstName}:{LastName}:{Address}";
}
Fragmento de código para pasar múltiples parámetros a un método Get
usando [FromQuery]
[FromQuery]
se usa para especificar que un parámetro debe estar ligado a la consulta de petición string
. Es la propiedad de la clase FromQueryAttribute
.
La sintaxis correcta para usar esta propiedad es la siguiente:
[HttpGet]
public string GetByAttribute([FromQuery] string parameterOne, [FromQuery] string parameterTwo) {}
Código de ejemplo:
[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) {}
}