У меня есть веб-API и вы хотите сделать тип контента необязательным.REST WEB API: как сделать заголовок Content-Type необязательным?
В настоящее время, если я игнорировал заголовок Content-Type при вызове метода REST (POST), он выдает ошибку.
Это, как я определил маршрут в 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 необязательным?
Почему вы хотите сделать это необязательным? если запрос имеет тело, а не заголовок типа контента, то веб-API не может определить, какой форматтер выбрать для десериализации тела запроса ... каков ваш точный сценарий? –
@KiranChalla, да, вы правы .... У меня есть настраиваемый тип в списке параметров, и он не связывает параметр только из-за отсутствия ContentType. –
Сущность без типа содержимого не является сущностью, это всего лишь пучок или случайные 1 и 0, что ничего не значит. Почему бы не исправить ошибку, когда клиент не отправляет тип контента, а не вводит ошибку, где сервер это позволит? –