19

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

任何帮助,将不胜感激。

4

3 回答 3

12

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

[HttpPost]
[Route("api/post")]
public void Post()
{
    var contentType = this.Request.Content.Headers.ContentType;
    //other stuff
}
于 2018-03-20T13:31:13.993 回答
6

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

所以你应该可以打电话HttpContext.Request.ContentType

于 2012-07-10T15:54:56.277 回答
0

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

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

于 2021-06-30T04:32:09.050 回答