Когда я создаю успокоительный API с веб-API asp.net, должен ли я иметь в виду, что моя клиентская сторона имеет дело с дизайном URL, представляющим конечный автомат?Как отличается маршрутизация пользовательского интерфейса клиентской стороны с маршрутов на стороне сервера
Чтобы сделать его более понятным, я также говорю об отношениях сдерживания в URL-адресах.
Например:
У меня есть пользователя объект, который может иметь много Schooylear сущности. У меня есть Schooylear объект, который может иметь много Период объектов.
В результате получается три веб-контроллера API. UserController, SchoolyearController, PeriodController. Теперь я спрашиваю мой сам я должен выставить маршруты, как:
api/users/1/schoolyears/2013-2014/periods/2014-01-01
вопрос будет теперь, как я должен отобразить маршрут HTTP ???
Я никогда на самом деле не видел маршруты, как один из приведенных выше, скорее, маршрутов, как:
api/users/1
api/schoolyears/2013-2014
api/periods/2014-01-01
НО выше маршрут с вмещающими отношениями будут действительно полезны для пользователя если он виден в строке URL-адрес ...
OR должен ли поддерживающий API не предлагать дизайн URL-адреса, представляющий конечный автомат? Вы видите, что я смущен, когда начинается ответственность клиента или заканчивается сервер ...
«Вы не хотите быть в ситуации, когда у вас есть, ... «ДА Я хочу быть в этом поселке! Когда я правильно понял msfanboy, мне нужно mysite.com/#/users/1/schoolyears/2013-2014/periods/2014-01-01, это не повлияет на маршруты сервера, потому что хеш-бэнг - это маршрутизация на стороне клиента. И снова мне НУЖЕН такой URL-адрес, как еще пользователь сможет закладить ссылку и быстро загрузить ее? Ссылка нуждается в всей цепочке информации, иначе ее невозможно загрузить период на 2014 год 1-го января. – Elisabeth
@ Elisa Мое предположение (и, возможно, это было неверно) заключалось в том, что оба этих URL возвратят то же самое представление. Если это так, вы не хотите иметь два URI, которые возвращают одно и то же представление. Вы можете иметь один URI, который возвращает перенаправление на другой. Это позволит обоим URI и не будет прерывать кеширование. –
@ Elisa Я еще не понял, насколько релевантность фрагмента URI соответствует вашему вопросу. –