日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OData API 和 Restful API 这两个概念的区别和联系

發(fā)布時(shí)間:2023/12/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OData API 和 Restful API 这两个概念的区别和联系 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們?cè)?SAP API Business Hub 里能看到 OData,SOAP 和 Restful 三種“不同”類型的 API:

它們之間到底有什么區(qū)別和聯(lián)系?

OData vs REST: What is REST?

REST(REpresentational State Transfer)是一種軟件架構(gòu)風(fēng)格,它定義了如何使用 HTTP 協(xié)議在兩個(gè)不同的系統(tǒng)之間發(fā)送消息。 REST 最初由 Roy Fielding 于 20 年前開(kāi)發(fā),現(xiàn)已發(fā)展成為用于在萬(wàn)維網(wǎng)上交換信息的最流行的架構(gòu)。

REST 標(biāo)準(zhǔn)概述了 Web 服務(wù)的 6 種不同原則或架構(gòu)約束:

  • 統(tǒng)一接口:REST 系統(tǒng)中的所有組件必須遵循相同的規(guī)則和接口才能相互通信。每個(gè)資源都由一個(gè) URI(統(tǒng)一資源標(biāo)識(shí)符)唯一標(biāo)識(shí)。

  • 客戶端-服務(wù)器:REST 將負(fù)責(zé)存儲(chǔ)和發(fā)送信息的服務(wù)器與負(fù)責(zé)獲取信息和適當(dāng)使用信息的客戶端分開(kāi)。這種分離使雙方更加獨(dú)立和可擴(kuò)展。

  • 無(wú)狀態(tài):使用 REST 發(fā)出的每個(gè)請(qǐng)求都是無(wú)狀態(tài)的:它包含服務(wù)器執(zhí)行請(qǐng)求所需的所有信息。請(qǐng)求完成后,服務(wù)器不需要存儲(chǔ)參數(shù)或狀態(tài)。例如,如果客戶端請(qǐng)求訪問(wèn)受限資源,則客戶端必須在每次請(qǐng)求時(shí)將其身份驗(yàn)證令牌發(fā)送到服務(wù)器。

  • 可緩存:REST 中的客戶端和服務(wù)器都可以緩存資源,有助于減少流量并提高性能。

  • 分層系統(tǒng):REST 允許分層系統(tǒng)架構(gòu):客戶端可能只與系統(tǒng)中的一個(gè)服務(wù)器通信,而其他服務(wù)器執(zhí)行身份驗(yàn)證和數(shù)據(jù)存儲(chǔ)等功能。客戶端無(wú)法判斷它是在與終端系統(tǒng)還是中介進(jìn)行通信。

  • 按需代碼:可選地,REST 請(qǐng)求可以在必要時(shí)返回邏輯或可執(zhí)行代碼。

遵循上述原則的 API(應(yīng)用程序編程接口)稱為 REST(或 RESTful)API。

OData vs REST: What is OData?

根據(jù) OData 網(wǎng)站的說(shuō)法,OData(開(kāi)放數(shù)據(jù)協(xié)議)“定義了一組用于構(gòu)建和使用 RESTful API 的最佳實(shí)踐。 OData 可幫助您在構(gòu)建 RESTful API 的同時(shí)專注于業(yè)務(wù)邏輯,而無(wú)需擔(dān)心定義請(qǐng)求和響應(yīng)標(biāo)頭、狀態(tài)代碼、HTTP 方法、URL 約定、媒體類型、有效負(fù)載格式、查詢選項(xiàng)等的各種方法。”

OData 最初由 Microsoft 創(chuàng)建,由非營(yíng)利組織 OASIS(結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織)標(biāo)準(zhǔn)化。 IBM、SAP 和 Salesforce 等企業(yè)技術(shù)公司都在其內(nèi)部 IT 環(huán)境中使用了 OData。

REST 是 OData 最重要的組件技術(shù)。根據(jù) OData 3.0 標(biāo)準(zhǔn),OData 用戶應(yīng)遵循 REST 原則,“除非有充分且具體的理由不這樣做”。

OData 標(biāo)準(zhǔn)還定義了用于響應(yīng) REST 請(qǐng)求傳輸數(shù)據(jù)的數(shù)據(jù)模型。 OData 支持兩種不同的數(shù)據(jù)傳輸協(xié)議:基于 XML 的 Atom 格式(用于發(fā)布和編輯 Web 資源)和 JSON(用于以人類可讀的方式存儲(chǔ)數(shù)據(jù))。

最后,OData 包括有關(guān)如何執(zhí)行操作(例如跟蹤更改、定義可重用程序和發(fā)送多個(gè)(批處理)REST 請(qǐng)求)的指南。

二者區(qū)別

盡管如此,OData 和 REST 之間的區(qū)別如下:

REST 是一種通過(guò) HTTP 協(xié)議交換信息的架構(gòu)風(fēng)格。 REST 標(biāo)準(zhǔn)定義了任何 REST API 都必須遵守的 6 條原則(1 條可選)。
OData 構(gòu)建在 REST 框架之上,以定義構(gòu)建 REST API 的最佳實(shí)踐,包括 HTTP 消息格式、如何查詢 API 等。 盡管 OData 鼓勵(lì)用戶始終遵循 REST 原則,但如果有令人信服的理由,可以放寬此要求。 此外,OData 指定數(shù)據(jù)應(yīng)以 Atom 或 JSON 格式傳輸。

總結(jié)

以上是生活随笔為你收集整理的OData API 和 Restful API 这两个概念的区别和联系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。