У меня есть новый API, который я создаю с помощью Asp.Net Core, и я не могу получить никаких данных POSTed до конечной точки.Asp.Net Core Post FromBody Always Null
Вот что конечная точка выглядит следующим образом:
[HttpPost]
[Route("StudentResults")]
public async Task<IActionResult> GetStudentResults([FromBody]List<string> userSocs, [FromBody]int collegeId)
{
var college = await _collegeService.GetCollegeByID(collegeId);
// var occupations = await _laborMarketService.GetOccupationProgramsBySocsAndCollege(userSocs, college);
return Ok();
}
И вот что мой полезный груз, который я посылаю через Почтальон выглядит следующим образом:
{
"userSocs": [
"291123",
"291171",
"312021",
"291071",
"152031",
"533011"
],
"collegeId": 1
}
Я убедившись, что у меня есть почтальона установлен как POST, с content-type = application/json. Что я делаю неправильно?
Это не было проблемой в .NET 4.5, это был? Я могу поклясться, что я помню, как отправлял несколько параметров в POST –
@AlexKibler: Только если вы отправляете параметры через форму или получаете запрос. У вас может быть только одна модель в вашем теле, поэтому любой не базовый тип (int, string и т. Д.) Будет сериализован для первой модели. В ASP.NET Core (независимый от 4.5 или .NET Core) вы можете иметь только один FromBody (в WebApi 2.x он был неявным), потому что WebAPI и MVC теперь объединены в единую структуру, где они были отличными ранее – Tseng