在我的网络应用程序中,我以json格式发布消息对象以将其保存到数据库中。使用Firefox中的devtools我可以看到有效的json被发布但是在调试服务器代码(MVC c#)时,Message类型的参数对象有一个空标题和body属性。
typescript中的对象定义:
export interface IMessage {
title: string;
body: string;
isHidden: boolean;
}
将对象发布到服务器的代码:
public postNewMessage(message: IMessage)
{
return this.http.postJson("/messages/newmessage", message);
}
我看到json发布到网络服务器:
{"title":"title","body":"body message","isHidden":true}
服务器代码:
[HttpPost("newmessage")]
public async Task<JsonResult> Post(MessageSummary message)
{
}
消息的C#类定义
public class MessageSummary
{
public long Id { get; set; }
public string title { get; set; }
public string body { get; set; }
public author author { get; set; }
}
因此,当我在服务器sideaction上设置断点时,消息对象不为null,但title和body属性为空。
答案 0 :(得分:0)
我之前从未使用过打字稿,但身体旁边的,
不是:
吗?
export interface IMessage {
title: string;
body, string;
isHidden: boolean;
}
答案 1 :(得分:0)
我想出来了,解决方案实际上相当简单,只需添加[FromBody]我就得到了发布的对象数据:
[HttpPost("newmessage")]
public async Task<JsonResult> Post([FromBody] MessageSummary message)
{
}