我在ASP.NET Web Api中遇到了检查请求内容类型的问题,不知道有没有办法在控制器层面检查请求内容类型是 application/xml 还是 application/json?
感谢任何帮助。
我在ASP.NET Web Api中遇到了检查请求内容类型的问题,不知道有没有办法在控制器层面检查请求内容类型是 application/xml 还是 application/json?
感谢任何帮助。
接受的答案有误导性,因为它回答了MVC范例的问题而不是Web API,这也被@ataravati指出。以下是如何在Web API控制器操作中访问ContentType的示例。
[HttpPost]
[Route("api/post")]
public void Post()
{
var contentType = this.Request.Content.Headers.ContentType;
//other stuff
}
每个控制器都有一个上下文:http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx
因此,您应该能够调用 HttpContext.Request.ContentType
。
var x = this.Request.Content.Headers.GetValues("Content-Type").First();
希望其他人也能从中得到解决方案。