为什么我无法在控制器中收到发布请求?

时间:2019-09-20 09:30:37

标签: c# asp.net-core asp.net-core-routing

我想在控制器中获取帖子的正文。

这是我的代码:

[HttpPost]
public string GetMsg([FromBody]GetMsgModel GSM)
{
    return "";
}

并张贴课程

public class GetMsgModel { 
    public string ToUserName { get; set; }
    public string FromUserName { get; set; }
    public string CreateTime { get; set; }
    public string MsgType { get; set; }
    public string Content { get; set; }
    public string MsgId { get; set; }
}

我在GetMsg上添加了一个断点,并使用该XML正文通过邮递员发送了一个帖子:

<xml>
  <ToUserName>123</ToUserName>
  <FromUserName>456</FromUserName>
  <CreateTime>1348831860</CreateTime>
  <MsgType>789</MsgType>
  <Content>000</Content>
  <MsgId>1234567890123456</MsgId>
</xml>

enter image description here

好吧,断点根本不运行。

这是怎么了?同一控制器中还有另一种HttpGet方法,并且效果很好。看来这还不是控制器的问题。

1 个答案:

答案 0 :(得分:4)

如果您使用的是Net Core 添加到Statup.cs

services.AddXmlSerializerFormatters();

XML应该是

<GetMsgModel>
  <ToUserName>123</ToUserName>
  <FromUserName>456</FromUserName>
  <CreateTime>1348831860</CreateTime>
  <MsgType>789</MsgType>
  <Content>000</Content>
  <MsgId>1234567890123456</MsgId>
</GetMsgModel>

希望有帮助