Какой самый простой способ вернуть различные типы контента на основе расширения в URL? - PullRequest
1 голос
/ 28 октября 2009

Я хотел бы иметь возможность изменить расширение URL-адреса и получить модель в другом формате.

например. если

/products/list

возвращает html-страницу, содержащую список продуктов, затем

/products/list.json

вернул бы их в список json.

Примечание: Мне нравится простота ASP.NET MVC REST SDK , для его подключения требуется всего 5 строк кода в, но формат указан как параметр строки запроса, т.е. /products/list?format=json, что не то, что я хочу, я мог бы настроить этот код, если нет других опций, но я не хочу изобретать велосипед!

Ответы [ 4 ]

1 голос
/ 29 октября 2009

Я написал пост в блоге, в котором показан один из возможных примеров. Это немного сложно, но может работать для ваших нужд.

http://haacked.com/archive/2009/01/06/handling-formats-based-on-url-extension.aspx

0 голосов
/ 31 октября 2009

Если у вас есть возможность удалить Apache или что-то подобное перед вашим сервисом, вы всегда можете использовать mod_rewrite, чтобы переписать внешний http://products/list.json в http://products/list?format=json, который ваша инфраструктура может сделать более легко.

0 голосов
/ 28 октября 2009

Вместо «list.json» вы можете выбрать «list / json» и использовать маршрут, подобный

{контроллер} / {действие} / {ID}

Затем будет вызван ProductController.List с параметром ID "json". Затем действие .List () решает, возвращать ли представление HTML или содержимое JSON.

0 голосов
/ 28 октября 2009

Вы должны иметь возможность просто использовать маршруты в сочетании с остальными SDK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...