Я определенно предпочитаю /controller/action/id
. Для меня это больше похоже на определение ресурса (существительное), а не на действие над этим существительным (глагол).
В дополнение к точному URL-адресу ресурса, вы должны учитывать, как вы отображаете HTTP-глаголы. По моему опыту, мы перетасовали URL, основываясь на том, что имело смысл в сочетании с глаголами. Тем не менее, у нас также есть пара мест, где мы нарушили канонический подход для удобства (например, предоставив определенное действие удаления с помощью GET, чтобы пользователи могли выполнять действие через браузер).
Также посмотрите это обсуждение для получения дополнительной информации.
REST URL структуры совета