使用 RESTful URL 能给我带来什么?

2024-01-07

我一直在阅读有关 REST 的内容,并试图找出使用它的优势是什么。具体来说,REST 样式的 URL 相比于带有查询字符串的更典型的 GET 请求有什么优势,值得实现?

为什么是这个网址:

    http://www.parts-depot.com/parts/getPart?id=00345

还算比这差吗?

    http://www.parts-depot.com/parts/00345

在上面的例子中(取自here http://www.xfront.com/REST-Web-Services.html)第二个 URL 看起来确实更加优雅和简洁。但这是有代价的……第一个 URL 很容易用任何网络语言实现,开箱即用。第二个需要额外的代码和/或服务器配置来解析值,以及额外的文档和花费时间向初级程序员解释系统并向同行证明其合理性。

所以,我的问题是,除了拥有看起来很酷的 URL 带来的乐趣之外,RESTful URL 还为我带来了哪些优势,使得使用它们值得实施成本?


希望如果您使 URL 引用名词,那么您将更有可能正确实现 HTTP 动词。除此之外,一个 URL 相对于另一个 URL 绝对没有任何优势。

事实上,URL 的内容与 RESTful 系统完全无关。它只是一个标识符。

它看起来是什么样子并不重要,重要的是你用它做什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 RESTful URL 能给我带来什么? 的相关文章

随机推荐

  • CSS - 创建按钮时在 Firefox 中存在 1 px 差异

    您可以在中看到问题Jsfiddle http jsfiddle net r5vvac82 这是我的代码 CSS btn text align center color 333 font weight 700 font size 11px f
  • Javascript 函数调用:常规调用、调用和绑定调用

    我的问题很简单 我将一个函数传递给稍后调用的其他函数 示例回调函数 问题是何时 为什么以及执行此操作的最佳实践是什么 样本 我有xxx 函数 我必须传递它 正如我在下面的 window onload 事件中向您展示的那样 最佳实践是什么 为
  • 配置 Spring Kafka 以使用 DeadLetterPublishingRecoverer

    我正在使用 Spring Boot 2 1 3 并尝试配置 SpringSeekToCurrentErrorHandler with a DeadLetterPublishingRecoverer将错误记录发送到不同的主题 创建新的 DLT
  • 遇到顺序友好/不友好的终端操作 vs 并行/顺序 vs 有序/无序流

    灵感来自这个问题 https stackoverflow com questions 44944973 search for example of inconsistent behavior java 8 stream 我开始研究有序流与无
  • 如何将 Breeze 与通用工作单元和存储库一起使用?

    使用这个 https genericunitofworkandrepositories codeplex com https genericunitofworkandrepositories codeplex com 以及以下一组博客文章
  • UI文本字段密码

    我知道可以使用以下命令使 UITextfield 在密码模式下运行 textfield secureTextEntry YES 这会将用户输入的所有字符更改为 然而 最后输入的字符会闪烁大约半秒 我知道这是标准行为 有什么方法可以阻止这种情
  • 如何从另一个网站“抓取”内容

    有朋友问过我这个问题 我无法回答 他问道 我正在制作这个网站 您可以在其中存档您的网站 它的工作原理是这样的 您输入您的网站 例如 something com 然后我们的网站抓取该网站上的内容 例如图像等 并将其上传到我们的网站 这样 即使
  • 如何反编译正则表达式?

    有没有办法在编译后反编译正则表达式 编译后的正则表达式对象有一个 pattern 属性 它给出原始文本模式 gt gt gt import re gt gt gt regex re compile foo bar gt gt gt rege
  • 在 Codeigniter 2 中扩展多个模型

    如何设置 CI2 以允许扩展多个模型 我只能让它扩展一个名为的模型 放入 application core MY Model 区分大小写 选择我正在做的扩展模型 在模型 require once APPPATH core MY Anothe
  • 如何在 Scala 中获取用户的输入?

    我想接受用户的输入 你能告诉我如何在 Scala 中以字符串形式请求用户输入吗 在 Scala 2 11 中使用 scala io StdIn readLine 而不是已弃用的Console readLine
  • 如何在没有调试符号和优化的情况下创建 cmake 构建配置?

    我认为默认配置类型可以这样描述 Debug w debug symbols w o optimization Release w o debug symbols w optimization RelWithDebInfo w debug s
  • 如何将 d3.js 示例嵌入到 Jekyll 博客文章中?

    我正在尝试这个 Jekyll 主题http richbray me frap http richbray me frap 我想创建一篇博客文章来展示这个 D3 js 示例 http bl ocks org mbostock 4061502
  • Django:如何在管理表单中获取当前用户?

    在姜戈的ModelAdmin 我需要显示根据用户拥有的权限定制的表单 有没有办法将当前用户对象放入表单类中 以便我可以在其中自定义表单 init method 我认为将当前请求保存在本地线程中是可能的 但这将是我的最后手段 因为我认为这是一
  • 为什么内存警告为 4 MB 利用率和 320 MB 可用空间?

    我正在运行附加到 Xcode 5 1 1 的 iOS 7 1 的 iPhone 4 上进行测试 我不明白为什么当仪器显示我的应用程序仅使用几兆字节并且有大量可用内存时 我会收到内存警告甚至崩溃 请参阅附件 有任何想法吗 Update 正如我
  • 从 Excel 工作表获取数据

    如何将 Excel 工作表中的数据加载到 Django 应用程序中 我使用数据库 PosgreSQL 作为数据库 我想以编程方式执行此操作 客户希望每周将两个不同的列表加载到网站上 但他们不想在管理部分中执行此操作 他们只想从 Excel
  • 在此范围内未声明“pthread_setname_np”

    我在我的应用程序中创建了多个线程 我想为每个 pthread 分配一个名称 所以我使用pthread setname np它可以在 Ubuntu 上运行 但不能在 SUSE Linux 上运行 我用 google 搜索了一下 发现 np 的
  • Intellij IDEA 未检测到更改

    昨天 我重构了我的项目 并更改了包的布局 我将一些包移动到另一个包中 创建了新包等 但现在 当我尝试运行 JUnit 测试时 我得到了NoSuchMethodError重构后名称更改的方法 另外 当我更改方法中的其他代码时 IDEA 仍然运
  • 无法找到 com.facebook.katana.provider.platformprovider 和 com.facebook.wakizashi.provider.platformprovider 的提供商信息

    在我的 Android 应用程序中 我使用 FacebookDialog 我正在写下以下代码 在 Galaxy Note 3 Android 4 4 2 中 一切顺利 然而 在Experia SOL21 Android4 1 2 中却没有
  • 恢复 SQL Server 数据库之前等待连接关闭

    我有一个使用两个数据库的网络应用程序 DB1 用户执行 CRUD 创建 读取 更新 删除 操作 数据库 DB2 是位于另一台服务器上的只读数据库 我将其用于报告目的 我的 DB1 每小时都会保存事务日志 而在 DB2 上 我有一项工作需要在
  • 使用 RESTful URL 能给我带来什么?

    我一直在阅读有关 REST 的内容 并试图找出使用它的优势是什么 具体来说 REST 样式的 URL 相比于带有查询字符串的更典型的 GET 请求有什么优势 值得实现 为什么是这个网址 http www parts depot com pa