-2024-年頂級-Python-REST-API-框架.png)
2024 年頂級 Python REST API 框架
?"name":?"張三",
?"age":?25
}
數(shù)據類型支持:支持字符串、數(shù)字、數(shù)組、布爾值等。例如:
{
?"isStudent":?true,
?"subjects": ["Math",?"Science"]
}
讀寫的簡易性:由于其結構簡單,開發(fā)者可以輕松地讀寫JSON數(shù)據。
實際應用上,當你在網上購物時,你的購物車信息可能就是以JSON格式保存和傳輸?shù)模纾?/p>
{
?"cart": [
? {"item":?"T-shirt",?"price":?20},
? {"item":?"Jeans",?"price":?50}
]
}
(2)XML是一種標記語言,用于描述數(shù)據的結構。
在結構特點上,有著標簽與屬性的結構:數(shù)據被包裹在開放和關閉的標簽中,可以有屬性。例如:
<person?age="25">
?<name>張三</name>
</person>
數(shù)據描述與展示:XML不僅僅是存儲數(shù)據,還可以描述數(shù)據的結構和意義。
實際應用上,考慮一個圖書館的書籍目錄,它可能使用XML來表示:
<library>
<book id=”101″>
<title>Programming 101</title>
<author>John Doe</author>
</book>
<book id=”102″>
<title>Web Design Basics</title>
<author>Jane Smith</author>
</book>
</library>
從上述對比中可以看出,JSON API有著更快、更靈活的特點,而XML API儲量更大,速度會因此被拖慢。
以臉書API(Facebook Graph API)為例,其主流的是JSON API。開發(fā)者需要使用Graph API Explorer工具,進行HTTP請求:GET for read, POST for modify & add, DELETE to remove nodes。
HTTP請求的路徑是: graph.facebook.com。緊接著,開發(fā)者可以根據name來獲取用戶信息,如: /yourfacebookname。或者通過一個特別的路徑來訪問用戶信息:/me 微軟Live Connect使用的相同方式來獲取用戶信息。使用 /me 來獲取用戶信息需要認證。
接著,開發(fā)者可以再Login, Authorization and Permissions 登錄,并進行授權和權限。
內部的JSON API連接是通過構建不同的URL通過Graph API去獲取用戶的具體信息。再獲取用戶信息前提是用戶必須授權給應用,否則返回空的數(shù)據集合。
以亞馬遜產品廣告(APIAmazon Product Advertising API)為例,其主流的是XML API。
開發(fā)者使用前可登陸亞馬遜廣告接口官方說明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup,進行查看。登陸注冊地址:https://developer.amazon.com后,填寫相關注冊訊息。
成功后進入控制臺,進入 Login with Amazon 菜單并創(chuàng)建配置文件,需要注意的是在與亞馬遜郵件往來階段開發(fā)者要提供一個公司介紹,所有正常的往來郵件最后會得到API所需的 client id,client secret。成功后,登陸網址https:/ladvertising.amazon.comAPl/docs/en-us/setting-up/generate-api-tokens,把實際參數(shù)替換進去,最后跳轉到登錄界面(網頁有登錄記錄的可能會跳過),獲取店鋪授權token(Create APl authorization and refresh tokens)。
授權成功后,會跳轉到回調地址(YOUR_RETURN_URL),并將authorization code 以GET 的形式傳回來:array(2) { [“code”]=> string(20) “ANesDVfOewJXAuKXZVut” [“scope”]=> string(35)cpc advertising:campaign management”},最后處理邏輯,并獲取token和profile id,到這為止基本上準備工作就做完了。最后只需要獲取REPORTS,進行請求生成報告-等待報告完成-獲取報告信息-下載報告內容-解壓等流程,直接跳轉到下載頁面。
接口調試前需要先進行店鋪授權,并獲取bearer token,可參考文檔;https://advertising.amazon.com/API/docs/en-us/setting-up/generate-api-tokens
店鋪授權過后還需要獲取每個店鋪的profiles,參考https://advertising.amazon.com/API/docs/en-us/reference/2/profiles#/Profiles后續(xù)的每次接口調用都需要在請求帶上bearer token、clientId和profileId三者。
JSON API 具備復合文檔、稀疏字段集、可選性、優(yōu)化功能和緩存等諸多優(yōu)勢。使用得當,可以為公司帶來巨大的收益。以健身可穿戴公司 FitBit 為例,從該企業(yè)發(fā)展API 程序的情況上看,該公司在每年 40 億次請求中,有 1/4 是通過第三方應用程序完成的,收入可觀。
其采用的JSON API可以幫助創(chuàng)建一致的數(shù)據模型,比如建造“視圖模型”,將現(xiàn)有端點變得超載,數(shù)據相關性松散時,可以利用 JSON API 來規(guī)范化數(shù)據,建立客戶端-服務器通信期望。
此外,JSON API 還可以保持同步,比如公司設備需要經常與服務器同步,并且需要這些數(shù)據可以被第三方應用程序修改。這些更改必須非常快速地反映在所有 API 客戶端中。JSON API 利用的 HTTP 緩存使他們能夠防止召回過時的數(shù)據,從而減少冗余并提高最終用戶的感知速度。
而XML文件在現(xiàn)實生活中應用十分廣泛。其中,實際開發(fā)的主要特點是簡單易操作,開發(fā)者的重點是讀取XML,而非定義XML的結構,只要能快速獲取有效信息即可。
在Java程序中獲取XML文件的內容主要有2種解析的基礎方式:DOM(平臺無關的官方解析方式)、SAX(基于事件驅動的解析方式)。它們各有各的好處。DOM解析方式適合文檔較小的情況,開發(fā)者可以下載dom4j網址:https://dom4j.github.io/。下載完成,將dom4j的jar文件導入工程即可;SAX解析方式 的應用范圍更大,它并不需要讀入整個文檔,而文檔的讀入過程也就是SAX的解析過程。
參考網址:
https://mp.weixin.qq.com/s/IPyN4HzM9W5PquXDz1R_Lw
https://mp.weixin.qq.com/s/S4UmN0A5evvVb2J3UfbZpA
https://blog.csdn.net/qq_38806813/article/details/121065362
https://blog.csdn.net/ts3211/article/details/107998552
https://blog.csdn.net/weixin_34351321/article/details/90656773
https://mp.weixin.qq.com/s/iIMBfPk1ga00hYgytxMUVQ