我应该使用哪个 RESTful 操作来重定向到另一个站点?
Which RESTful action should I use to redirect to another site?
我有一个应用程序,我尝试 adhere to REST。
该应用收到不属于该应用的外部链接请求,因此该操作的唯一目的是将请求重定向到外部 URL。
我的建议是controller/action:redirects_controller#create
。
我的想法是否正确,还是应该改为 show
行动?
REST(除了 Rails)是关于使用正确的 HTTP 方法来执行正确的操作。 Rails 部分只是对给定的 HTTP 方法使用传统的控制器操作。
因此,如果您正在执行 301 或 302 重定向到另一个页面,浏览器通过向重定向响应位置 header 中的 URL 发出 GET 请求来处理,请在show
个动作。这将允许用户的浏览器在适当的时候缓存其他页面,并且在重定向之前不通知用户。
(There is a way to redirect POSTs,但你没有提到它,所以我想你是在谈论常规的 301/302 重定向。)
来自 Java 背景,REST 操作必须与 CRUD 操作相关。不更改资源的请求(如您的意图是重定向到另一个页面的情况)必须绑定到 GET 动词或在您的示例中显示。
如果您要创建新资源,您将使用 POST。
更详细的解释可以在 Richardson's rest maturity model level 2
中找到
我有一个应用程序,我尝试 adhere to REST。
该应用收到不属于该应用的外部链接请求,因此该操作的唯一目的是将请求重定向到外部 URL。
我的建议是controller/action:redirects_controller#create
。
我的想法是否正确,还是应该改为 show
行动?
REST(除了 Rails)是关于使用正确的 HTTP 方法来执行正确的操作。 Rails 部分只是对给定的 HTTP 方法使用传统的控制器操作。
因此,如果您正在执行 301 或 302 重定向到另一个页面,浏览器通过向重定向响应位置 header 中的 URL 发出 GET 请求来处理,请在show
个动作。这将允许用户的浏览器在适当的时候缓存其他页面,并且在重定向之前不通知用户。
(There is a way to redirect POSTs,但你没有提到它,所以我想你是在谈论常规的 301/302 重定向。)
来自 Java 背景,REST 操作必须与 CRUD 操作相关。不更改资源的请求(如您的意图是重定向到另一个页面的情况)必须绑定到 GET 动词或在您的示例中显示。
如果您要创建新资源,您将使用 POST。 更详细的解释可以在 Richardson's rest maturity model level 2
中找到