我正在发布来自 Angular 应用程序的消息,并且每次发布正文总是以 null 的形式进入函数。在 post 请求之前直接在 Angular 应用程序中登录的控制台日志确认该对象确实包含信息,它似乎在途中的某个地方丢失了。
public class SentMessage
{
public string MessageFrom { get; set; }
public string MessageTo { get; set; }
public string Message { get; set; }
}
// Post a new message
[Route("Conversation/AddTo")]
[HttpPost]
public IHttpActionResult AddToConversation(SentMessage message)
{
if (message is null)
{
return NotFound();
}
return Ok("Message Sent");
}
到目前为止,我已经按照其他帖子中的建议在方法属性上尝试了使用和不使用 [FromBody],但过去我不确定出了什么问题。
........
如您所说,将[FromBody]
放在方法参数上,并确保使用application/json
Content-Type
进行 POST
只需修改代码
public IHttpActionResult AddToConversation([FromBody]SentMessage message)
{
if (message is null)
{
return NotFound();
}
return Ok("Message Sent");
}