J'ai une nouvelle API que je construis avec Asp.Net Core, et je ne peux pas obtenir de données POSTed à un point de terminaison.Post Core Asp.Net de Body Always Null
Voici ce que le point final ressemble à:
[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();
}
Et voici ce que ma charge utile que je vous envoie par Postman ressemble:
{
"userSocs": [
"291123",
"291171",
"312021",
"291071",
"152031",
"533011"
],
"collegeId": 1
}
Je fais en sorte que je postier défini comme POST, avec content-type = application/json. Qu'est-ce que je fais de mal>?
Ce n'était pas un problème dans .NET 4.5, était-il? Je pourrais jurer que je me souviens d'envoyer plusieurs paramètres dans un POST –
@AlexKibler: Seulement si vous envoyez les paramètres via formulaire ou obtenir une requête. Vous ne pouvez avoir qu'un seul modèle dans votre corps, donc tout type non-basic (int, string, etc.) sera sérialisé au premier modèle. Dans ASP.NET Core (indépendant de 4.5 ou .NET Core) vous ne pouvez avoir qu'un seul FromBody (dans WebApi 2.x c'était implicite), car WebAPI et MVC sont maintenant fusionnés en un seul framework, où ils étaient distincts auparavant – Tseng