我很难找到在 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
。
就我而言,我尝试通过以下代码从标题中获取 ContentType。
var x = this.Request.Content.Headers.GetValues("Content-Type").First();
希望其他人能从中得到解决方案。