Я не знаю, является ли это какой-либо другой конфигурацией по умолчанию, но, создав проект asp.net core 2.2 и другой проект asp.net core 3.0, я получаю разные результаты в привязке модели.
public class Dto
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get; set; }
public string Prop4 { get; set; }
}
[HttpGet("test/{prop1:alpha}/{prop2:alpha}")]
public ActionResult<Result> Test(Dto dto)
{
}
Приведенный выше код прекрасно работает в ядре asp.net 2.2 при вызове URL:
https://localhost:xxxx/test/aaa/bbb/?prop3=ccc&prop4=ddd
Однако в ядре asp.net 3 объект имеет значение null.
если я использую [FromRoute]
, он просто получает значения prop1 и prop2.
Если я использую [FromQuery]
, он просто получает значения prop3 и prop4.
Как настроить asp.net core 3, чтобы он получал значения маршрута и строки запроса, например asp.net core 2.2?
Обратите внимание, что в asp.net core 2.2 я не сообщил ни [FromRoute]
, ни [FromQuery]
, которые кажутсямне обязательно сейчас.