C# Passar Múltiplos Parâmetros para um Método Get

Minahil Noor 12 outubro 2023
  1. Passar parâmetros múltiplos para um método de Get utilizando Controller Action em C#
  2. Código Snippet para passar múltiplos parâmetros para um método Get utilizando o Attribute Routing
  3. Código Snippet para passar múltiplos parâmetros a um método Get utilizando [FromQuery]
C# Passar Múltiplos Parâmetros para um Método Get

O ASP.NET MVC é utilizado para desenvolver aplicações web. O framework MVC Web API e Web pages agora está fundido em um framework chamado MVC 6. O MVC é um padrão que permite interagir com o modelo, visualização e controlador através de solicitações que são roteadas.

Neste artigo, estamos fazendo para discutir vários métodos que são utilizados para passar vários parâmetros para um método de MVC em um controlador MVC.

Passar parâmetros múltiplos para um método de Get utilizando Controller Action em C#

Uma controller action é um método que é utilizado para tratar os pedidos recebidos. E ele retorna o action result. O action result é a resposta às solicitações de entrada. Neste caso, utilizamos a ação do controlador para passar vários parâmetros para um método de Get.

Exemplo de código:

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

Código Snippet para passar múltiplos parâmetros para um método Get utilizando o Attribute Routing

Em attribute routing, utilizamos atributos para definir rotas. É um método recomendado porque reduz as chances de erro. Ele lhe dá mais controle sobre URLs em sua Web API.

A sintaxe correta para utilizar este método é a seguinte:

// Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
public string Get(int parameterOne, int parameterTwo) {
  return $"{parameterOne}:{parameterTwo}";
}
}

Exemplo de código:

// Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address) {
  return $"{FirstName}:{LastName}:{Address}";
}

Código Snippet para passar múltiplos parâmetros a um método Get utilizando [FromQuery]

É utilizado para especificar que um parâmetro deve ser vinculado à solicitação de consulta. É a propriedade da classe FromQueryAttribute.

A sintaxe correta para utilizar esta propriedade é a seguinte:

[HttpGet]
public string GetByAttribute([FromQuery] string parameterOne, [FromQuery] string parameterTwo) {}

Exemplo de código:

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

Artigo relacionado - Csharp Method