C# pasa múltiples parámetros a un método get

Minahil Noor 12 octubre 2023
  1. Pasar múltiples parámetros a un método Get usando la Controller Action en C#
  2. Fragmento de código para pasar múltiples parámetros a un método Get usando el Attribute Routing
  3. Fragmento de código para pasar múltiples parámetros a un método Get usando [FromQuery]
C# pasa múltiples parámetros a un método get

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) {}
}

Artículo relacionado - Csharp Method