ASP.NET Web API多个发布消息单个控制器或操作

本文关键字:消息 单个 控制器 操作 布消息 Web NET API ASP | 更新日期: 2023-09-27 17:59:55

所以我有以下问题:

我们有一个场景,第三方向我们的服务器发送邮件,我们对此无法控制,他们希望将所有内容发送到一个url,因此我们无法对查询参数采取任何措施,因此我的问题是,是否可以通过一个操作处理不同的邮件。本质上,帖子消息的内容将定义所述请求需要发生的事情。

邮件1:

<xml>
    <content1> content </content1>
    <content2> content </content2>
</xml>

邮件2:

<xml>
    <content1> content </content1>
    <content3> content </content3>
</xml>

正如您所看到的,其中一些消息将具有类似的属性。

感谢

ASP.NET Web API多个发布消息单个控制器或操作

您可以使用以下签名来接受任意XML内容,

public HttpResponseMessage Post([FromBody]XElement xmlbody) { 
    // Process the xmlbody 
    return new HttpResponseMessage(HttpStatusCode.Created); 
} 

我在这里有更多关于这种原始媒体类型处理的细节。

这是可能的。指定要使字符串输入参数化的操作。这样,您就可以将整个消息作为字符串获取,而不必担心其属性。。。但是,您需要在控制器中实现逻辑来区分消息。

[HttpPost]
public ActionResult MyActionForAllMessages(string message)
{
    //Your logic
}