如何让我的ASP.NET Web Api只接受XML,还返回JSON

本文关键字:XML JSON 返回 Api 我的 ASP Web NET | 更新日期: 2023-09-27 18:26:22

由于特定原因,我必须构建一个仅通过POST获取XML内容的API。为此,有很多帖子-只需从GlobalConfiguration中删除JsonFormatter即可。但是当使用GET进行查询时,API必须能够返回JSON数据。有没有办法让我的方法只接受Content-Type application/xml?也许是像HttpPost这样的属性或类似的东西?

如何让我的ASP.NET Web Api只接受XML,还返回JSON

在您的情况下,您可以在执行实际逻辑之前通过检查ContentType来验证它们,如下所示:

if (Request.Content != null) {
    if (System.Web.HttpContext.Current.Request.ContentType.StartsWith(MediaType.Xml)) {
        //Perform your Logic here
    }
    /*
    //you can skip below  MediaType.Json  block 
    if (System.Web.HttpContext.Current.Request.ContentType.StartsWith(MediaType.Json)) {
    }
    */
}