什么是宁静路由?

     2023-02-24     258

关键词:

【中文标题】什么是宁静路由?【英文标题】:What is Restful Routing? 【发布时间】:2011-01-27 08:53:34 【问题描述】:

我熟悉 Ruby On Rails 的路由系统以及 Code Igniter 和 PhpCake 如何路由事物,但除了拥有一个基于目录结构提供路由的集中位置之外,还有更多吗?像这样

controller/action/id/
Admin/editUser/22

【问题讨论】:

【参考方案1】:

基本前提是,它不是完全依赖 URL 来指示您要访问的网页(并且仅使用一种方法),而是 VERB 和 URL 的组合。

这样,当同一个 URL 与不同的动词(例如 GET、PUT、POST、DELETE)一起使用时,您会转到不同的页面。这使得 URL 更简洁、更短,并且特别适用于 CRUD 应用程序,大多数 Web 应用程序都是。

【讨论】:

【参考方案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'

【讨论】:

当然,除了 /users/new/users/1/edit 不是 REST URI(因为其中包含动词)。也就是说,您可以将“功能页面”作为可以“获取”的资源,即/users/tools/creation_form/users/tools/edit_form/1(请注意,在第二个 URI 中,我添加了一个用户 ID 来为您填充表单)【参考方案3】:

整个宁静的一个重要部分是您应该使用不同的 HTTP 方法来表示不同的操作。

例如,在 Rails 中,如果您要将 HTTP Delete 发送到 /users/[id],则表示您要删除该用户。 HTTP Get 将检索用户的适当表示。 HTTP Put 可以更新或创建用户。

这些是一些示例,但由于 HTTP 中没有 RESTful API 的标准,因此并非在所有情况下都是正确的。

【讨论】:

【参考方案4】:

它将 HTTP VERBS + URL 映射到控制器中的特定操作

例子:

GET /users/1      

前往:

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

要查看完整的映射,请转到终端,然后输入:

rake routes

【讨论】:

【参考方案5】:

@edtsech 是正确的。我想在这里再补充一件事。

在更新的情况下,方法是“POST”,带有一个隐藏字段,其中包含需要更新的数据。

所以 PUT = POST + 隐藏字段。

【讨论】:

我不明白你在这里想说什么...... POST 肯定不是用来更新记录的......你所说的“隐藏字段”是指有效负载吗? 在 Rails 中,为了更新记录,我们使用带有隐藏字段的 POST 请求,其中包含有效负载。

如何让自己内心宁静平和?

...生活,面对诱惑,首先要搞清自己的价值观,什么是自己认为最值得的事情,什么是可以放弃的。一定是有为有不为,然后才能集中精力做事,才能保持心平气和。面壁、闭关修炼、悟道、坐禅等等, 查看详情

宁静的网址。查看特定型号

...58:31【问题描述】:我一直在经历这个blog,我明白他在说什么,尤其是关于层次结构(沿着小路往回走)。所以/objects/1/property删除property应该会给你id为1的对象,删除id应该给你所有的对象。优秀且合乎逻辑。但我总是通过视图... 查看详情

宁静的 Web 应用程序安全性

】宁静的Web应用程序安全性【英文标题】:Restfulwebapplicationsecurity【发布时间】:2013-05-0619:25:41【问题描述】:我想知道我的网络应用程序的安全性。我有两个问题,希望你能帮我解答一下我正在使用一个游戏框架(支持休息)... 查看详情

“/literal/param/literal”是 WCF 宁静服务的有效 url 模板吗

】“/literal/param/literal”是WCF宁静服务的有效url模板吗【英文标题】:Is"/literal/param/literal"avalidurltemplateforaWCFrestfulservice“/literal/param/literal”是WCF宁静服务的有效url模板吗【发布时间】:2020-07-2805:23:40【问题描述】:我正... 查看详情

民国时期的宁静致远四个字怎么写?

民国时期的远字怎么写呢?宁静致远这四个字的繁体字是——宁静致远这四个字的篆体字是——宁静致远这四个字的隶书体——参考技术A民国时期的名人资源四个字怎么写民国时期的宁静十元四个字可以在手机上装着艺术字字... 查看详情

使用按钮单击调用宁静的服务

】使用按钮单击调用宁静的服务【英文标题】:Callrestfulserviceusingbuttonclick【发布时间】:2017-11-2307:35:59【问题描述】:我希望通过单击我的Web应用程序的按钮调用get函数我的应用程序中的代码是protectedvoidbtngetbtanches_Click(objectsend... 查看详情

设计一个宁静的服务

】设计一个宁静的服务【英文标题】:DesginingaRestfulservice【发布时间】:2013-06-0821:36:08【问题描述】:假设我正在设计一个Restful服务,它给定2个整数编号返回它的总和。在这种情况下,没有要读取、创建、更新或删除的资源。... 查看详情

ACID 如何在宁静的微服务架构中工作

】ACID如何在宁静的微服务架构中工作【英文标题】:HowACIDworksinarestfulmicro-servicearchitecture【发布时间】:2019-02-0112:31:33【问题描述】:我在实现微服务架构方面还很陌生,这个问题让我大吃一惊微服务架构如何解决不同端点调用... 查看详情

wcf 宁静服务中的长时间计算

】wcf宁静服务中的长时间计算【英文标题】:Longcalculationinawcfrestfulservice【发布时间】:2012-06-2822:34:48【问题描述】:我有一个WCFRESTful服务,它工作正常,问题是该服务公开了一个“计算”方法,可能需要几分钟才能完成计算,... 查看详情

如何在 Laravel 的 Blade 模板中链接到一个宁静的资源?

】如何在Laravel的Blade模板中链接到一个宁静的资源?【英文标题】:HowtolinktoarestfulResourcewithinaBladetemplateinLaravel?【发布时间】:2014-10-2902:51:39【问题描述】:我正在尝试找出从刀片模板中引用资源链接的“Laravel”方式。上下文... 查看详情

你如何在颤振中保护一个宁静的 api 端点

】你如何在颤振中保护一个宁静的api端点【英文标题】:Howdoyouprotectarestfulapiendpointinflutter【发布时间】:2021-10-1820:23:40【问题描述】:我有一个调用后端API服务器的颤振移动应用程序。这需要一个API密钥。我不想将密钥嵌入到... 查看详情

子路由最佳实践

...路由/item/id/,它返回有关该项目的信息。我想知道在创建宁静的api时这是否是一种不好的做法。因为我经常会看到像/market/items/category/id这 查看详情

text节点宁静(代码片段)

查看详情

读《奇特的一生》,几处文摘,几点有感而发

...的东西极有限:有一个放书的地方和工作的地方,有一个宁静安谧的工作环境就够了。当然,宁静安谧这一个要求不算低。在我们的时代,宁静安谧是奇货。不过柳比歇夫需要的宁静安谧是最简朴的一种–只要保持安静和摆... 查看详情

路由(route)是什么意思?

路由是指网络数据包发送到目的地址的路线,如果路由规划合理,那么数据走的速度就更快,延迟就更低,网络体验就更好。参考文章:路由是什么意思 查看详情

python宁静的烧瓶(代码片段)

查看详情

宁静的网络服务 415

】宁静的网络服务415【英文标题】:Restfulwebservice415【发布时间】:2019-05-2508:41:02【问题描述】:@RestController@RequestMapping(value="/uri",produces="application/json",consumes="application/json")publicclassVisitorServiceVisitorDAOvis=newVisitorD 查看详情

这几天心里颇不宁静,采的不是信号,而是寂寞

...是ok的,实验室内部测试模拟信号也是正常的,为什么到现场测试后就没有信号了呢?下图是实验室模拟采集的结果,还是非常不错的。正在我疑惑的时候,隔壁项目组突然来找我协助解决问题,他们也是... 查看详情