Что такое Restful Routing? - PullRequest
       13

Что такое Restful Routing?

14 голосов
/ 14 марта 2010

Я знаком с системой маршрутизации Ruby On Rails, а также с тем, как Code Igniter и PhpCake маршрутизируют вещи, но есть ли в этом что-то большее, чем наличие централизованного расположения, в котором вы выдаете маршруты на основе структуры каталогов? Как это

controller/action/id/
Admin/editUser/22

Ответы [ 5 ]

20 голосов
/ 14 марта 2010

Основная предпосылка заключается в том, что вместо того, чтобы полагаться исключительно на URL, чтобы указать, на какую веб-страницу вы хотите перейти (и просто используя один метод), это комбинация VERB и URL.

Таким образом,тот же URL, когда используется с другим глаголом (таким как GET, PUT, POST, DELETE), приведет вас на другую страницу.Это обеспечивает более чистые и короткие URL-адреса и особенно адаптировано для приложений CRUD, которыми является большинство веб-приложений.

14 голосов
/ 14 марта 2010

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'
2 голосов
/ 14 марта 2010

Одна большая часть всей остальной вещи заключается в том, что вы должны использовать разные методы HTTP для представления различных действий.

Например, в Rails, если вы отправите HTTP Delete на /users/[id], это будет означать, что вы хотите удалить этого пользователя. HTTP Get будет получать соответствующее представление пользователя. HTTP Put может обновить или создать пользователя.

Это несколько примеров, но поскольку в HTTP нет стандарта для API RESTful, это не всегда правильно.

1 голос
/ 17 сентября 2013

сопоставляет HTTP VERBS + URL с конкретным действием в контроллере

Пример:

GET /users/1      

идет к:

:controller => 'users', :action => 'show'

, чтобы увидеть полное отображение, перейдите к терминалу и введите:

rake routes
0 голосов
/ 03 октября 2014

@ edtsech правильно. Я хотел бы добавить еще одну вещь здесь.

В случае обновления используется метод «POST» со скрытым полем, содержащим данные, которые необходимо обновить.

Итак, PUT = POST + скрытое поле.

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