Я видел, что оба атрибута FromQuery
и ModelBinder
работают для отображения параметров запроса в модели свойств с разными именами. Но какой из них следует использовать? Я не могу найти ничего в документации, указывающей, какой использовать. Обратите внимание, что ModelBinder требует ссылки на дополнительный пакет.
В следующем примере у меня есть маршрут GET api/mycontroller?filter=test&page=mypage
[HttpGet]
public IActionResult Get([FromQuery] MyFilter)
{
return Ok();
}
У меня также есть модель, которую я хочу сопоставить с моим запросом строки. Мое имя свойства MyCustomFilter
этой модели не соответствует имени строки запроса filter
.
public class MyFilter
{
[FromQuery(Name='filter')]
public string MyCustomFilter { get; set;}
public string Page { get; set;}
}
Здесь я использую атрибут FromQuery
, чтобы указать соответствие между filter
и MysCustomFilter
, но я также мог бы использовать атрибут ModelBinder
:
public class MyFilter
{
[ModelBinder(Name='filter')]
public string MyCustomFilter { get; set;}
public string Page { get; set;}
}
Какой из них лучше?