ОТДЫХ: способ сопоставить URL-адреса с услугами / файлами? - PullRequest
0 голосов
/ 10 февраля 2010

По вашему скромному мнению: что было бы наилучшим подходом для сопоставления REST-URL с сервисами / файлами в пределах своей архитектуры (предположим, здесь есть шаблон MVC)?

Ответы [ 2 ]

2 голосов
/ 10 февраля 2010

В дополнение к ответу Даррела:

Использовать иерархическую природу HTTP URI; Рассматривайте каждый сегмент пути как углубление в общее пространство управляемых элементов (например, заказов, клиентов). Если в какой-то момент вам нужно «проиндексировать» коллекцию по нескольким измерениям (например, запрос), используйте параметры строки запроса:

/ услуги / продукты / Автомобили / японская-автомобили / Toyota / Corola / & priceMin = 2000 & priceMax = 5000

Обратите внимание, что (как сказал Даррелл) структура должна быть непрозрачной для клиента. Это означает, что клиент должен обнаружить параметры во время выполнения (для этого предназначены формы или шаблоны URI). Конечно, клиенту и серверу нужны общие знания о значении, например, priceMin. Это знание должно быть в некоторой спецификации времени разработки, например, в спецификации отношения ссылки. Может быть, посмотрите на http://www.opensearch.org для подробного использования.

Также интересна хост-часть URI. Если на каком-то этапе вам может понадобиться перенести части ваших служб на другой компьютер, спроектируйте ваши URI так, чтобы соответствующая информация находилась в доменной части. Затем вы можете использовать простой DNS для маршрутизации запросов на разные машины.

НТН, Jan

1 голос
/ 10 февраля 2010

Лучший способ сопоставления URL-адресов с ресурсами зависит от того, какую веб-среду вы используете для предоставления службы REST. Выберите любую структуру URL, которую проще всего использовать с помощью имеющихся у вас инструментов.

Структура URL должна быть полностью непрозрачной для клиентов вашего сервиса, поэтому им не важно, как они выглядят.

Самая важная вещь, на мой взгляд, заключается в том, что при просмотре URL-адреса должно быть относительно легко угадать, какой контроллер на сервере будет отвечать на этот URL-адрес. Это значительно упростит разработку и отладку.

...