如何在ASP.Net Web API中检查请求内容类型?

时间:2012-07-10 15:46:37

标签: asp.net-web-api

我无法在ASP.NET Web Api中找到检查请求内容类型的方法。有没有办法可以检查请求内容类型,无论是控制器级别的application / xml还是application / json?

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:4)

每个控制器上都有一个上下文:http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx

因此,您应该可以致电HttpContext.Request.ContentType

答案 1 :(得分:4)

接受的答案是误导性的,因为它回答了MVC范式的问题,而不是Web API,这也是@ataravati所指出的。以下是如何访问Web API控制器操作内的ContentType的示例。

[HttpPost]
[Route("api/post")]
public void Post()
{
    var contentType = this.Request.Content.Headers.ContentType;
    //other stuff
}

答案 2 :(得分:0)

就我而言,我尝试通过以下代码从标题中获取 ContentType。

var x = this.Request.Content.Headers.GetValues("Content-Type").First(); 希望其他人能从中得到解决方案。