RESTful系统中一次请求多条记录

2024-03-10

我见过的有关 RESTful 架构的所有示例都处理单个记录。例如,一个 GET 请求mydomain.com/foo/53获取 foo 53 或 POST 到mydomain.com/foo创建一个新的 Foo.

但如果有多条记录呢?能够通过 id 请求一系列 Foo 或发布一组新的 Foo 通常,使用单个 API 请求比数十个单独的请求更有效。你会“超载”吗mydomain.com/foo处理单个或多个记录的请求?或者你会添加一个mydomain.com/foo-multiple处理多个 POST 和 GET?

我正在设计一个系统,可能需要一次获取许多记录(类似于mydomain.com/foo/53,54,66,86,87)但由于我还没有看到任何这样的例子,我想知道是否有一些我没有理解的 RESTful 架构使得这种方法“错误”。


不在单个请求中返回多个记录是有充分理由的,它的可缓存性和可扩展性较差。每当您想知道 REST 如何或为何发挥作用时,请查看网页。当您请求一个页面时,它会包含指向其他资源的链接,例如多个图像、CSS 文件、js 文件等。

虽然尝试通过单个请求抽取所有这些内容似乎更有效,但将它们全部视为单独​​的资源并允许 Web 服务器和保持活动连接来处理许多请求的可扩展性和缓存能力要高得多。资源高效。如果您将所有 css、javascript 和图像内联到可以代表整个页面的单个下载中,那么当您访问需要某些相同资源的另一个页面时,您必须再次下载它们,因为您没有正确引用它们浏览器第一次可以缓存作为单独的资源。

当您确实有代表多个资源列表的内容时,最安全的方法是让该列表只是各个资源的 url 列表,并分别获取每个资源,就像下面的网页一样flicker 包含页面上所有图像的 url,它不会尝试将它们全部内联到页面本身中。

当资源正确地允许缓存并单独引用时,缓存命中率可能会变得高得离谱,从而允许 Web 服务器处理更多负载,并允许在客户端和服务器之间缓存代理服务器,以防止请求甚至必须命中服务器。使用这种方法,网络运行良好,在认为这听起来很疯狂之前,请考虑一下。

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

RESTful系统中一次请求多条记录 的相关文章

  • Restful服务参数不匹配异常

    我有服务 POST Path post Consumes application json public Response createProductInJSON Product product String result Product
  • PHP - Twitter API (OAuth) 分页无法正常工作

    我已经集成了 Twitter API Twitter OAuth 来获取特定公司帐户的最新提要 下面是我到目前为止所做的代码 https tomelliott com php authenticating twitter feed time
  • HTTP-DELETE-请求是否允许响应主体?

    我假设响应代码 200 始终允许响应主体 但我找不到任何明确提及删除请求的响应主体 这里明确提到了RFC http www w3 org Protocols rfc2616 rfc2616 sec9 html sec9 7 简短的回答是 Y
  • PayPal Rest API for Payments 在沙箱中返回 NULL

    我有一个 PayPal 沙盒帐户 我可以在 PHP 上使用curl 通过 api 检索令牌 但是处理测试卡只会返回 null 有人看到代码有问题吗 这是 PayPal 沙盒的已知问题吗 下面代码片段中的客户端是伪造的 但是 如前所述 使用我
  • 如何设计 REST API 以允许返回带有元数据的文件

    假设我正在设计一个 REST API 并且我需要客户端能够获取带有元数据的文件 设计资源 操作的好方法是什么 我想到了一些想法 单个资源 即 GET files fileId 返回包含文件和带有元数据的 JSON XML 结构的多部分响应
  • 在 JSON 对象中强制执行非空字段

    我们的 REST API 接收一些 JSON 对象输入 其中某些字段要求不为空 这些可以是字符串 整数 甚至可以是其他一些类实例作为参考 我们正在尝试找到一种方法来强制这些字段不为空 而不是在 API 中进行空检查的正确方法 当前的 if
  • Jersey 将 Weld 托管 bean 注入 ConstraintValidator

    我已经花了几个小时寻找解决方案来解决我的问题 但我无法让它发挥作用 我想将 Weld 管理的服务注入 ConstraintValidator 中 该 ConstraintValidator 用于验证发布到 JAX RS Rest Servi
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • Mandrill 通过 REST API 作为单独的消息发送给多人

    我正在尝试使用山魈发送邮件 问题是 当我将多个收件人添加到 收件人 参数时 它会多次向 收件人 列表中的所有收件人发送同一封邮件 我期望将相同的邮件单独发送给列表中的每个人 我错过了什么吗 key app key template name
  • 除了 GET 和 POST 之外,如何从浏览器向 RESTful 应用程序发送任何内容?

    我没有得到 RESTful 的东西 是的 我知道如何从浏览器向我的应用程序发送 GET 请求 这是通过 URL 链接 a href user someone 并且还可以通过form方法发送POST请求 a
  • 重置 Windows Phone 照片上传

    我正在尝试使用 RestSharp 将照片上传到 Windows Phone 7 应用程序中的 REST api 进行获取 发布 post参数如下 photo 照片 编码为多部分 表单数据 照片 相册 id 现有相册的标识符 可以是一个事件
  • 如何使用继承来建模 RESTful API?

    我有一个需要通过 RESTful API 公开的对象层次结构 但我不确定我的 URL 应该如何构建以及它们应该返回什么 我找不到任何最佳实践 假设我有从动物继承的狗和猫 我需要对狗和猫进行CRUD操作 我还希望能够对一般动物进行手术 我的第
  • NodeJS:将 JSON 保存到 MongoDB

    我正在尝试从 API 获取 JSON 并将其存储到 MongoDB 数据库中 显然 这是行不通的 我的应用程序似乎停留在我尝试将数据保存到数据库的位置 请告知该怎么做 这是我的代码 var express require express v
  • Ruby on Rails REST 设计问题 - 在账户之间转账

    我有一个 Account 类 想要实现转账屏幕以允许用户在 2 个账户之间转账 我将如何实现这种 RESTful 方式 我有标准帐户和休息操作 那很好 但我该如何实现转移呢 通常我只会向帐户控制器和相应的视图添加一个名为 transfer
  • JAX-RS 和 JAX-WS 有什么区别?

    阅读了几篇有关 JAX RS 和 JAX WS 的文章后 我有几个问题想确认一下 JAX RS可以像JAX WS一样做异步请求吗 JAX RS 能否访问不在 Java 平台上运行的 Web 服务 反之亦然 REST 对于配置文件有限的设备
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • 使用嵌套的 hashmap 参数发送 volley 请求

    我正在使用 android volley 框架向我的服务器发送 jsonobject 请求 get 请求工作正常 现在我想发送一个带有请求参数的 post 请求 该请求参数是嵌套的 hashmap 我重写 getparams 方法 但它期望
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • 什么时候使用Jersey的@Singleton注解?

    我正在开发 RESTful Web 服务 并在阅读泽西岛时文档 https jersey java net documentation latest jaxrs resources html d0e1851我发现了一个注释 Singleto
  • REST URI 和对象上的操作,可以进行评论、标记、评级等

    我正在为我的公司研究一种 Web API 看起来我们可能会实现一个 RESTful API 我现在已经阅读了几本关于此的书籍 O Reilly 的 RESTful Web 服务 似乎最有用 并为可以评论 标记和评级的对象提出了以下一组 UR

随机推荐