Я перевожу ASP. NET MVC 4 приложения на ASP. NET Core 2.1 и почти все идет хорошо.
У меня есть контроллер с действием который выглядит следующим образом:
public class SomeApiController : Controller
{
public ActionResult Post(Model model, int key1, string key2)
{
model.Key1 = key1;
model.Key2 = key2;
return Json(model);
}
}
Model
:
public class Model
{
public string Text { get; set; }
public int Number { get; set; }
public int Key1 { get; set; }
public string Key2 { get; set; }
}
Я могу отправить тело json, которое содержит любое из свойств Model
с комбинацией параметры запроса и MVC 4 всегда будут правильно связывать тело с model
, key1
и key2
.
Наиболее необходимый тип запроса, который работает в MVC 4, выглядит следующим образом:
POST /SomeApi/Post
{
"model": {
"text": "some-text",
"number": 1
},
"key1": 42,
"key2": "some-text-2"
}
или примерно так:
POST /SomeApi/Post?key1=42&key2=some-text-2
{
"model": {
"text": "some-text",
"number": 1
}
}
Обратите внимание на вложенные model
значение в json.
Это будет правильно привязано к соответствующим параметрам действия, но оно не включено ASP. NET Core 2.1 , по крайней мере по умолчанию.
Что такое очевидно работает в ASp. NET Core 2.1:
POST /SomeApi/Post?key1=42&key2=some-text-2
{
"text": "some-text",
"number": 1
}
Вопрос: могу ли я каким-то образом поддерживать поведение привязки MVC 4 в ASP. NET Core 2.1, так что я надеваю не нужно переписывать огромное количество запросов внешнего интерфейса и / или внутреннего моделирования?