Я занимаюсь разработкой некоторых ресурсов REST с использованием платформы ASP.NET MVC 3. До сих пор это было здорово, мне нравится гибкость MVC 3, и с ее помощью легко создавать REST-сервисы. Одной из областей, где у меня были трудные времена, являются ограничения маршрута в Global.asax. Во-первых, кажется, что они никогда не работают должным образом (в том числе один ВСЕГДА возвращает 404, даже если входные данные наиболее точно соответствуют требованиям ограничения ... но это другой вопрос).
Во-вторых, и, что более важно, результатом, возвращаемым в случае сбоя ограничения, всегда является HTML-страница. Если предположить, что ограничения срабатывают, то, что результат будет HTML, действительно мешает, когда все потребители этих служб REST будут принимать типы данных, такие как application / json, text / xml, возможно bson и т. Д. чтобы иметь возможность напрямую устранять ошибки наших клиентов, а не просто взорвать и записать html для разрешения боковой полосы.
Можно ли изменить то, что возвращается в ответ на ограничение маршрута? Можно ли сделать то, что возвращено, динамическим, чтобы, если клиент, отправляющий запрос, принимал только application / bson, мы могли генерировать приемлемый ответ, а не просто генерировать стандартный ответ одного типа mime?