我有Web API,并希望内容类型可选。
目前,如果在调用REST(POST)方法时忽略了content-Type标头,则会抛出错误。
这就是我在Web API中定义路由的方法 -
routes.MapHttpRoute(
name: "myMethodPost",
routeTemplate: "api/{id}/Settings/{settings}",
defaults: new { controller = "Settings", action = "updateSettings" },
constraints: new { httpMethod = new HttpMethodConstraint("POST") }
);
调用此方法时 -
api/1/Settings/testSettings
method = "Post"
它抛出错误。但是在添加后 -
apiRequest.ContentType = "application/json";
工作正常。
现在,如何使Content-Type标头可选?
答案 0 :(得分:2)
您可以在服务器上创建一个消息处理程序,如果缺少Content-Type,则将其设置为'application / json',并且长度为非零的正文。这样客户端就不必发送它。