当前位置: 首页 > 知识库问答 >
问题:

REST API URL设计从性能的角度只针对单个属性

窦彦君
2023-03-14

我正在开发REST API和前端作为一个微服务。我知道一些URL设计的基本原则,但有一个性能问题,我不确定如何处理。

以一个案例为例。

存在article的资源,并返回包含复杂聚合的articles/:id中的资源数据。但在这种情况下,我所需要的只是一个注释计数,通过发出一个SQLcount语句,无需计数器缓存即可快速获得。

然而,在研究REST API设计时,我从未见过只返回特定字段的GET请求的情况。

共有1个答案

欧阳声
2023-03-14

当然,它对人类读者不是特别友好,所以你可能更喜欢别的东西。从这个意义上说,URI设计就像是选择一个好的变量名--机器并不关心,所以我做的选择更容易让人类管理。这通常意味着选择一个与API中的其他拼写“一致”的拼写。

RFC3986引入了路径、查询和片段之间的区别,您可以期望通用组件能够理解这些区别;其中一个潜在的重要区别是引用解析描述了通用组件如何从基uri和相对引用计算新标识符。

/articles/comment-count + ./1 -> /articles/1
 类似资料:
  • 问题内容: 我有一个带有一系列对象属性的对象,这些对象属性具有以下相似的结构(这是从服务返回数据的方式): 当我执行ng-repeat时,我可以遍历所有这5个对象,例如: 但是, 我真正想要做的是仅对那些不是“ foo”类型的项进行迭代 ,即3次迭代而不是5次。我知道可以以某种方式利用过滤器来执行此操作,但是我不确定如何执行。我尝试了以下方法: 但这不起作用。实际上,即使执行以下操作以将对象限制为

  • 我在一个组件内使用两个角形材料组件: null null 在这些输入字段被聚焦之前,它们应该查看以下内容 我需要蓝色的第一个输入mat-label时,它是聚焦和标签浮在左上角。 对于第二个输入mat-label,我想要黑色 有谁能帮我做到这一点吗?多谢

  • 其实并不重要。 已有很多人花费很多笔墨来讨论是使用单引号(')还是双引号(")来定义字符串。 单引号字符串不会被解析,因此放入字符串的任何东西都会以原样显示。 双引号字符串会被解析,字符串中的任何 PHP 变量都会被求值。 另外,转义字符如换行符 \n 和制表符 \t 在单引号字符串中不会被求值,但在双引号字符串中会被求值。 由于双引号字符串在程序运行时要求值,从而理论上使用单引号字符串能提高性能

  • 我正在从事一个项目,该项目在很大程度上依赖angular来完成前端任务。在一个显示了大约50个带有ng repeat的条目的列表页面上,每个条目都有大量的观察者,因此我决定使用angular的静态绑定减少观察者的数量,并能够将数量从12k观察者减少到8k观察者,但即使在观察者数量大幅减少之后,加载时间、dom呈现或摘要周期时间也没有改善。digest cyle使用8k观察程序所需的时间与使用12k

  • 使用Angular ,我正在创建一个属性组件并向其中注入一个值。为此,我在这里跟随答案。 我想知道有没有一种方法,就像在AngularJS中一样,直接在组件中输入一个值,而不需要定义单独的< code>[form]=""。例如:<代码> 导致“。 我正在尝试将我的表单(通过变量)注入组件,但我不想进行其他绑定,例如根据这里的帖子,这应该是可能的,但我无法工作。自从更高的Angular版本以来,这种

  • 问题内容: 我已经遍历了Google Guava库,并在其中找到了许多很好的可用数据结构。 如果有人使用过它,那么您能否提供有关在与庞大数据集一起使用时其性能的反馈?基本上,我正在为其操作寻找BigO表示法。 提前致谢 问题答案: 番石榴的贡献者在这里。 嗯,有什么要说的?所有基于散列(和基于枚举)的集合都具有恒定时间的单项操作,完全符合您的期望。(,,,,,,,,,等等都属于这一类。)所有基于树