11
Mam nowe API, które buduję z Asp.Net Core i nie mogę uzyskać żadnych danych POSTed do punktu końcowego.Asp.Net Core Post FromBody Always Null
Oto co punkt końcowy wygląda tak:
[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();
}
A oto co mój ładunek, który wyślę przez Postman wygląda następująco:
{
"userSocs": [
"291123",
"291171",
"312021",
"291071",
"152031",
"533011"
],
"collegeId": 1
}
mam upewniając się, że mam listonosza ustaw jako POST, z treści-type = application/json. Co robię źle>?
To nie był problem w .NET 4.5, to było? Mógłbym przysiąc, że pamiętam wysyłanie wielu parametrów w POST –
@AlexKibler: Tylko jeśli wyślesz parametry przez formularz lub otrzymasz zapytanie. Możesz mieć tylko jeden model w swoim ciele, więc każdy inny niż podstawowy typ (int, string, itp.) Będzie serializowany do pierwszego modelu. W środowisku ASP.NET Core (niezależnym od wersji 4.5 lub .NET Core) można mieć tylko pojedyncze FromBody (w WebApi 2.x było to niejawne), ponieważ WebAPI i MVC są teraz scalone w jedną strukturę, w której wcześniej były odrębne. – Tseng