Почему я не могу получить почтовый запрос в контроллере? - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу получить тело сообщения в контроллере.

Вот мой код:

[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 Ответ

4 голосов
/ 20 сентября 2019

Если вы используете 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>

Надеюсь, это поможет

...