C# Passar Múltiplos Parâmetros para um Método Get
-
Passar parâmetros múltiplos para um método de
Get
utilizandoController Action
emC#
-
Código Snippet para passar múltiplos parâmetros para um método
Get
utilizando oAttribute Routing
-
Código Snippet para passar múltiplos parâmetros a um método
Get
utilizando[FromQuery]
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) {}
}