Обработка запросов GET с параметрами — распространенное требование в веб-разработке, особенно при создании API. В ASP.NET Core вы можете легко извлечь параметры запроса из URL-адреса запроса, используя атрибут [FromQuery]. В этой статье мы рассмотрим различные методы обработки запросов GET с параметрами с использованием [FromQuery] в ASP.NET Core, а также примеры кода.
Метод 1: использование отдельных параметров
Один из способов обработки запросов GET с параметрами — указание отдельных параметров в сигнатуре метода. Каждый параметр соответствует параметру запроса в URL-адресе. Вот пример:
[HttpGet]
public IActionResult GetItems([FromQuery] string name, [FromQuery] int page)
{
// Logic to retrieve items based on query parameters
return Ok();
}
Метод 2: привязка к модели
Другой подход заключается в привязке параметров запроса к классу модели. Это полезно, если у вас есть несколько параметров или сложные структуры запросов. Создайте класс модели со свойствами, соответствующими именам параметров запроса. Вот пример:
public class ItemQueryParameters
{
public string Name { get; set; }
public int Page { get; set; }
}
[HttpGet]
public IActionResult GetItems([FromQuery] ItemQueryParameters queryParameters)
{
// Logic to retrieve items based on query parameters
return Ok();
}
Метод 3: использование словаря
Если параметры запроса являются динамическими или могут различаться по количеству, вы можете использовать словарь для сбора всех параметров. Ключами словаря будут имена параметров запроса, а значениями будут соответствующие значения. Вот пример:
[HttpGet]
public IActionResult GetItems([FromQuery] Dictionary<string, string> queryParameters)
{
// Logic to retrieve items based on query parameters
return Ok();
}
Метод 4: смешанный подход
В некоторых случаях может потребоваться сочетание фиксированных и динамических параметров. Этого можно добиться, объединив отдельные параметры и словарь. Вот пример:
[HttpGet]
public IActionResult GetItems([FromQuery] string name, [FromQuery] Dictionary<string, string> queryParameters)
{
// Logic to retrieve items based on query parameters
return Ok();
}
Обработка запросов GET с параметрами в ASP.NET Core с использованием атрибута [FromQuery] обеспечивает гибкий и удобный способ извлечения параметров запроса из URL-адреса запроса. В этой статье мы рассмотрели несколько методов достижения этой цели, включая использование отдельных параметров, привязку к классу модели, использование словаря и смешанный подход. Выберите метод, который лучше всего соответствует вашим требованиям, и с легкостью создавайте мощные API.