繁体   English   中英

在C#Web API中调用POST方法时的406 HTTP响应

[英]406 HTTP Response when calling POST method in C# Web API

每当我向Fiddler发出POST请求时,都会引发UnsupportedMediaTypeException。 我想念什么吗?

控制器:

    [Route("api/contacts")]
    public IHttpActionResult Post([FromBody]ContactDTO contact)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        //Other operations

        return Created(contact);
    }

WebApiConfig.cs

    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

        config.Formatters.JsonFormatter.SupportedMediaTypes.Add(
            new MediaTypeHeaderValue("application/json"));

        var json = config.Formatters.JsonFormatter;
        json.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
        json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

    }

提琴手的要求

在深入研究我的代码后,我注意到了一些东西。 我的控制器类是从ODataController继承的。 我只是将继承更改为ApiController,现在一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM