我无法在ASP.NET Web Api中找到检查请求内容类型的方法。有没有办法可以检查请求内容类型,无论是控制器级别的application / xml还是application / json?
任何帮助将不胜感激。
答案 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();
希望其他人能从中得到解决方案。