Что такое Restful Routing?
Я знаком с системой маршрутизации Ruby On Rails и хорошо, как то, как работает код Igniter и PhpCake, но есть ли для этого больше, чем централизованное местоположение, где вы выдаете маршруты на основе структуры каталогов? Как этот
controller/action/id/
Admin/editUser/22
Ответы
Ответ 1
Основная предпосылка заключается, вместо того, чтобы полагаться исключительно на URL-адрес, чтобы указать, на какой веб-странице вы хотите перейти (и просто использовать один метод), это комбинация VERB и URL.
Таким образом, тот же URL-адрес при использовании с другим глаголом (например, GET, PUT, POST, DELETE) приведет вас к другой странице. Это делает более чистые, более короткие URL-адреса и особенно подходит для приложений CRUD, которые большинство веб-приложений.
Ответ 2
RESTful Rails, я думаю, что это показывает принцип REST
/users/ method="GET" # :controller => 'users', :action => 'index'
/users/1 method="GET" # :controller => 'users', :action => 'show'
/users/new method="GET" # :controller => 'users', :action => 'new'
/users/ method="POST" # :controller => 'users', :action => 'create'
/users/1/edit method="GET" # :controller => 'users', :action => 'edit'
/users/1 method="PUT" # :controller => 'users', :action => 'update'
/users/1 method="DELETE" # :controller => 'users', :action => 'destroy'
Ответ 3
Одна большая часть всего остального заключается в том, что вы должны использовать различные методы HTTP для представления разных действий.
Например, в Rails, если вы должны отправить HTTP Delete
в /users/[id]
, это означает, что вы хотите удалить этого пользователя. HTTP Get
будет получать соответствующее представление пользователя. HTTP Put
может обновлять или создавать пользователя.
Вот несколько примеров, но поскольку для RESTful API в HTTP нет стандарта, это неверно во всех случаях.
Ответ 4
он отображает HTTP VERBS + URL для определенного действия в контроллере
Пример:
GET /users/1
переходит в:
:controller => 'users', :action => 'show'
чтобы увидеть полное отображение, перейдите к терминалу и введите:
rake routes
Ответ 5
@edtsech - это правильно. Здесь я хотел бы добавить еще одну вещь.
В случае обновления метод "POST" со скрытым полем, содержащим данные, необходимо обновить.
Итак, PUT = POST + Скрытое поле.