Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分层REST API与规范化REST API_Rest_Url_Uri - Fatal编程技术网

分层REST API与规范化REST API

分层REST API与规范化REST API,rest,url,uri,Rest,Url,Uri,首先,我想解释一下我编写的分层restapi和规范化restapi的含义 分层RESTAPI 请求URL:可以使用具有多种内容类型的层次结构。(例如http://www.example.com/customers/12345/orders) 响应正文:可以包含所有请求的内容,而不忽略任何内容,包括其他相关数据类型(例如客户包含订单) e、 g.http://www.example.com/customers/12345 标准化RESTAPI 请求URL:禁止URL的层次结构。

首先,我想解释一下我编写的
分层restapi
规范化restapi
的含义

  • 分层RESTAPI
    • 请求URL:可以使用具有多种内容类型的层次结构。(例如
      http://www.example.com/customers/12345/orders
    • 响应正文:可以包含所有请求的内容,而不忽略任何内容,包括其他相关数据类型(例如
      客户
      包含
      订单
      • e、 g.
        http://www.example.com/customers/12345
  • 标准化RESTAPI
    • 请求URL:禁止URL的层次结构。
      • 不好
        • http://www.example.com/customers/12345/orders
        • http://www.example.com/customers/12345/orders/1
        • http://www.example.com/customers/12345/orders?accepted=true
        • http://www.example.com/customers
        • http://www.example.com/customers?firstName=John
        • http://www.example.com/customers/12345
        • http://www.example.com/orders/1
    • 响应正文:包含所请求内容类型的所有内容。如果其他类型是相关的,只返回它的ID。
      • e、 g.
        http://www.example.com/customers/12345
我认为这两种方法各有优缺点

  • 分层RESTAPI
    • 专业人士
      • 可以在单个请求中获得所有必需类型的内容(例如客户、订单、来自
        http://www.example.com/customers/12345
    • 缺点
      • 如果数据的层次结构很深,那么响应可能是指数级的巨大和缓慢
      • 循环引用可能发生
      • 数据重复(例如,来自两个
        http://www.example.com/customers/12345
        http://www.example.com/stores/1
        可以包含相同的
        订单
        数据)
  • 标准化RESTAPI
    • 专业人士
      • 更快的响应(较小的负载,没有或很少来自数据源的连接,更少的业务逻辑)
      • 通过标准化实现无数据重复
    • 缺点
      • 需要多个请求如果您需要多种类型的内容(例如,要从某个
        客户
        检索所有
        订单
        ,至少需要客户按顺序提出两个请求)
我的问题是:

  • 是否有
    分层REST API
    规范化REST API
    的术语
  • 哪一个更适合RESTAPI指南?我也有其他选择
是否有分层RESTAPI和规范化RESTAPI的术语

没有

哪一个更适合RESTAPI指南

他们都“很好”

考虑一下万维网,以及我们如何向浏览器发送CSS指令。我们可以直接将CSS嵌入HTML页面吗?对我们可以链接到通过不同资源获取的CSS吗?对


这两种方法是否“符合RESTAPI指南”。是的——更准确地说,它们之所以有效,是因为HTML是一种通用的标准化媒体类型,有关于如何引用CSS的规则;每个人都以同样的方式理解这些规则。

我明白了。那一定是偏好的问题了。谢谢。相关问题:
{
  "name": "John Doe",
  "orders": [{
      "id": 1,
      "price": 10,
      "delivered": true
    }, {
      "id": 2,
      "price": 11,
      "delivered": false
    }
  ]
}
{
  "name": "John Doe",
  "orderIds": [1, 2]
}