.net Core веб-API несколько [FromBody] - PullRequest
0 голосов
/ 27 мая 2018

Я конвертирую код, который был написан в ASP.Net MVC, в ASP.Net Core MVC.Когда я конвертировал код, я столкнулся с проблемой.Мы использовали метод, который имеет несколько параметров, таких как:

[HttpPost]                                                      
public class Search(List<int> ids,SearchEntity searchEntity)           
{   
//ASP.NET MVC                                                                   
}

Но при кодировании .net core ids параметр имеет значение null.

[HttpPost]                                                      
public class Search([FromBody]List<int> ids,[FromBody]SearchEntity searchEntity)           
{   
//ASP.NET Core MVC                                                                   
} 

Когда я использую "Параметры "идентификаторы" в классе SearchEntity нет проблем, но у меня есть много методов, которые написаны так.Что я могу сделать с этой проблемой?

1 Ответ

0 голосов
/ 27 мая 2018

Может иметь только один FromBody, поскольку тело может быть прочитано только один раз

Ссылка Привязка модели в ASP.NET Core

Может бытьмаксимум один параметр на действие, украшенный [FromBody].Во время выполнения ASP.NET Core MVC ответственность за чтение потока запросов передается на модуль форматирования.Как только поток запроса считывается для параметра, обычно невозможно снова прочитать поток запроса для привязки других [FromBody] параметров.

MVC Ядро более строгое, как связать модель с действиями.Вы также должны явно указать, откуда вы хотите связать данные, когда вы хотите настроить поведение привязки.

...