406调用C#Web API中的POST方法时的HTTP响应
本文关键字:HTTP 响应 方法 POST 调用 C#Web API 中的 | 更新日期: 2023-09-27 18:29:23
每次使用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();
}
Fiddler请求
在深入研究我的代码后,我注意到了一些东西。我的控制器类继承自ODataController。我刚刚将继承更改为ApiController,现在一切都很好。