所以我有以下问题:
我们有一个场景,第三方正在向我们的服务器发送帖子消息,我们无法控制它,他们想将所有内容发送到一个网址,所以我们无法对查询参数做任何事情,所以我的问题那么,是否有可能通过一个动作处理不同的帖子消息。实质上,帖子消息的内容将定义所述请求需要发生的事情。
发布消息1:
<xml>
<content1> content </content1>
<content2> content </content2>
</xml>
发布消息2:
<xml>
<content1> content </content1>
<content3> content </content3>
</xml>
正如您所看到的,某些消息将具有类似的属性。
由于
答案 0 :(得分:2)
您可以使用以下签名来接受任意XML内容,
public HttpResponseMessage Post([FromBody]XElement xmlbody) {
// Process the xmlbody
return new HttpResponseMessage(HttpStatusCode.Created);
}
我有关于此类原始媒体类型处理here的详细信息。
答案 1 :(得分:0)
有可能。 指定您的操作以使字符串输入参数。这样你就可以将整个消息作为字符串获取,而不用担心它的属性...... 但是,您需要在控制器中实现逻辑以区分消息。
[HttpPost]
public ActionResult MyActionForAllMessages(string message)
{
//Your logic
}