category{
name
product(product-id){
name
productInfo{
size
price
seller-id
}
seller(seller-id){
name
location-id
delivery(location-id){
name
}
}
}
}
}

雖然 GraphQL 方法的單個查詢靈活性對開發人員來說很棒,但在使用 GraphQL 監控數據查詢時,這帶來了挑戰。如果在使用 REST API 進行交易期間出現部分故障,或者端點無法返回數據,則 HTTP 請求將返回失敗狀態響應。當調用失敗時,API 提供者和 API 使用者都會收到 HTTP 500 或 400 錯誤,而當端點調用成功時,則會收到成功的 HTTP 200。我們的購物示例中的 REST API 故障如下所示:

HTTP/1.1 400 Unprocessable Entity
{
"error":
{
"code": "400",
"message": "Product ID does not exist"
}
}

使用 GraphQL,即使 API 調用未返回任何查詢數據,部分故障也會成功解決并返回 HTTP 200。成功的 HTTP 響應是查詢到達服務器的結果。如果查詢調用不存在的數據或消費者無權訪問的數據,則 HTTP 響應代碼不會為您提供此信息。這會使處理錯誤更加困難,因為需要付出更多努力來診斷錯誤。API 消費者可以檢查響應對象中的錯誤對象,該對象將顯示哪個端點遇到錯誤以及導致錯誤的原因。以下是我們的 GraphQL 購物應用查詢示例中的部分故障:

{
"errors": [
{ "path": [ "product" ],
"locations": [ { "line": 3, "column": 12 } ],
"extensions": {
"message": "Object not found",
"type": 2
}
}
]
}

API 使用者能夠通過在客戶端檢查 GraphQL 錯誤對象(如此處所示)來診斷錯誤。遺憾的是,如果您沒有檢查每個調用,則在服務器端可能無法捕獲這些錯誤。API 提供商要解決此問題,他們需要監控 API 返回的 GraphQL 負載,以便他們可以像使用其 API 的開發人員一樣檢查錯誤對象。監控 API 負載還有一個額外的好處,就是讓您了解開發人員如何使用您的 API、哪些查詢最常見、哪些查詢的延遲最低以及 API 使用者是否成功完成了查詢。

通過觀察學習

監控 GraphQL 負載的另一個好處是,您可以記錄指標,以便根據開發人員訪問 API 的方式做出有關 API 的長期決策。日志可以告訴您哪些 GraphQL 查詢成功了、誰是您最忠實的用戶、首次用戶進行哪些查詢以及哪些查詢經常捆綁在一起等等。這可以為您組織的客戶成功策略提供信息,從而使您能夠編寫更有效的文檔、找到在 API 調用方面遇到挑戰的用戶,并為使用 API 的開發人員提供更主動的支持。通過詳細的日志,您可以深入了解 API。過濾查詢是一種從 GraphQL 日志中匯總信息的強大技術。

將 GraphQL 查詢匯總到您的 API,然后按字段名稱和參數值等類別進行過濾,這將為您提供有關對 GraphQL API 進行的大部分查詢的可操作信息。這會告訴您 API 的哪些部分為客戶創造了最大的價值,因此您知道在編寫文檔時應該關注什么、向開發人員介紹哪些查詢以及哪些附加功能可能會為您的用戶創造價值。如果您的組織同時擁有 GraphQL 和 REST API,則過濾查詢將使您能夠直接比較開發人員使用不同 API 的方式。

我們介紹了貴組織應如何實現 GraphQL API 可觀測性,以及它對于專注于促進客戶成功的組織的重要性。雖然 REST API 可觀測性的實現更加直觀,并且現有的 REST API 分析工具也更多,但 GraphQL 可觀測性與 REST API 可觀測性相比具有一些獨特的優勢。

GraphQL API 可觀察性的優勢

GraphQL 查詢會準確指出需要哪些信息。REST API 消費者經常會獲取不足或過度的數據,因為他們無法選擇所需的特定數據。GraphQL 查詢僅調用消費者需要的數據,這會告訴您哪些數據正在為消費者創造價值。使用 REST API 分析可能很難確定多個連續的 API 端點調用是來自消費者的單個事務的一部分,還是它們是不相關的事件。GraphQL 分析將單個事務所需的所有調用捆綁到一個查詢中,因此您可以更清楚地了解消費者如何使用您的 API。

GraphQL API 分析可以讓您在產品開發中比 REST API 分析更具優勢,并且可以讓您的組織更輕松地專注于客戶成功。如果您的組織了解首次使用的用戶在遇到挑戰時如何嘗試查詢您的 API,那么您的客戶支持就可以在解決客戶遇到的問題方面發揮更積極的作用,從而提供更詳細和更有建設性的支持。如果客戶由于調用不再存在的 REST 端點而無法查詢您的 API,您的組織可能不會觀察到此故障,并且您的客戶支持將無法聯系到該客戶。與 GraphQL API 調用相比,查詢只會轉到單個端點。如果客戶嘗試查詢不再存在的數據,您的監控將記錄此故障,并且您的客戶支持可以直接聯系用戶,以幫助您的客戶成功進行 API 調用。

多年來,GraphQL 已變得非常流行,越來越多的團隊選擇使用 GraphQL API。作為 API 提供商,觀察您的 GraphQL API 可能具有挑戰性。絕大多數 API 分析工具都是為支持 REST API 而構建的,而 GraphQL 通常是事后才考慮的。莫伊西夫與眾不同,它旨在觀察 GraphQL 和 REST API,以便您的組織能夠促進客戶成功并為客戶創造價值。Moesif 提供了 GraphQL 可觀察性的所有優勢,并內置于產品中。實施 GraphQL API 時,您無需放棄強大的分析工具!

原文地址:https://www.moesif.com/blog/graphql/api-development/GraphQL-Versus-RESTAPI-Which-is-Better-for-API-Observability/

熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
數字貨幣對沖策略源代碼介紹及FMZ平臺最新API
下一篇
SOAP vs REST:哪種API設計適合您的業務?
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
久久99国产精品尤物| 激情图片小说一区| 7777精品伊人久久久大香线蕉 | 欧美日韩成人高清| 国产精品 欧美精品| 久久机这里只有精品| 极品美女销魂一区二区三区| 偷偷要91色婷婷| 欧美精品一区二区三区一线天视频| 成人免费毛片片v| 国产大陆亚洲精品国产| 91久久精品一区二区三区| 欧美巨大另类极品videosbest| 色婷婷av一区二区三区大白胸 | 欧美日韩高清一区二区三区| 精品视频免费看| 99久久精品免费精品国产| 精品国产免费视频| 久久精品国产一区二区三| 免费国产亚洲视频| 麻豆精品在线播放| 亚洲午夜在线视频| 91色在线porny| 亚洲免费观看高清在线观看| av亚洲精华国产精华精华| 国产网站一区二区三区| 国产精品自拍在线| 亚洲精品一区二区三区在线观看| 亚洲一二三四区| 韩国毛片一区二区三区| 欧美一区二区在线看| 久久久久久99精品| 免费看黄色91| proumb性欧美在线观看| 亚洲精品一区在线观看| 9i看片成人免费高清| 日韩欧美一级在线播放| 亚洲国产综合视频在线观看| 欧美videos中文字幕| 亚洲成国产人片在线观看| 日韩欧美精品三级| 91网页版在线| 免费一级片91| 亚洲人成网站在线| 欧美视频中文字幕| 91一区二区三区在线观看| 男人的天堂久久精品| 日本一区二区视频在线| 久久综合九色综合97_久久久| av综合在线播放| 精品亚洲国内自在自线福利| 亚洲在线一区二区三区| 亚洲最大的成人av| 一个色在线综合| 91麻豆国产在线观看| 国产精品99久久久久| 日本欧美在线看| 天天影视网天天综合色在线播放| 亚洲欧美中日韩| 一区二区三区四区五区视频在线观看| 欧美午夜精品久久久久久超碰| 激情丁香综合五月| 久久爱另类一区二区小说| 精品在线视频一区| 激情综合网av| 99久久精品免费看国产免费软件| 99精品欧美一区二区三区小说| av中文字幕不卡| 欧美自拍丝袜亚洲| 成人福利电影精品一区二区在线观看| 成人动漫av在线| 欧美成人一级视频| 午夜精品免费在线| 成人h精品动漫一区二区三区| 97久久久精品综合88久久| 91精品国产色综合久久久蜜香臀| 成人av电影免费在线播放| 成人激情免费视频| 久久亚洲一级片| 日本 国产 欧美色综合| 欧美日韩久久一区| 一区二区三区加勒比av| 99re视频精品| 久久综合999| 精品在线一区二区三区| 国产成人三级在线观看| 欧美高清在线一区二区| 爽好多水快深点欧美视频| 成人激情图片网| 亚洲视频一区在线| 6080yy午夜一二三区久久| 欧美激情一区不卡| 欧美视频在线观看一区| 日本三级亚洲精品| 欧美一区二区久久| 美女一区二区三区| 久久久99久久| 懂色一区二区三区免费观看| 日韩欧美国产麻豆| 久久国产精品99久久久久久老狼| 欧美精品电影在线播放| 精品噜噜噜噜久久久久久久久试看| 国产三级久久久| 最新中文字幕一区二区三区| 一区二区三区中文字幕电影 | 亚洲精品自拍动漫在线| 韩国av一区二区三区| 亚洲精品视频在线观看网站| 欧美电影在线免费观看| 色综合中文字幕| 色婷婷亚洲综合| 成人黄色免费短视频| 亚洲综合色区另类av| 精品在线视频一区| 日韩一级视频免费观看在线| 亚洲色图视频网| 久久精品噜噜噜成人av农村| 最新日韩av在线| 国产suv精品一区二区883| 日韩欧美电影一区| 久久精品国产久精国产| eeuss鲁片一区二区三区在线观看| 欧美久久久一区| 亚洲一区中文在线| 91免费国产在线| 亚洲成a人片在线观看中文| 成人app在线| 亚洲愉拍自拍另类高清精品| 色哟哟国产精品| 婷婷久久综合九色综合伊人色| 在线欧美日韩精品| 亚洲国产精品久久人人爱蜜臀| 国产在线精品一区二区三区不卡 | 中文字幕av不卡| 国产精品久久久久久久久久久免费看| 精品午夜一区二区三区在线观看| 2020国产精品| 国产精品乱码一区二区三区软件| 国产精品美女一区二区三区| 成人午夜在线播放| 丝袜美腿亚洲一区| 欧洲日韩一区二区三区| 色综合天天综合给合国产| 午夜欧美2019年伦理 | 国产一区二区不卡| 美腿丝袜亚洲三区| 国产精品人人做人人爽人人添| 欧美日韩国产一二三| 99久久国产综合精品女不卡| 黄色成人免费在线| 精品在线亚洲视频| 久久精品视频一区二区| 日韩欧美国产综合| 国产精品香蕉一区二区三区| 亚洲成av人片一区二区| 午夜久久久久久久久久一区二区| 精品一区二区三区在线观看| 亚洲成av人片一区二区三区| 亚洲欧洲综合另类在线| 国产精品丝袜一区| 欧美精选午夜久久久乱码6080| 欧美xxxx老人做受| 欧美三级乱人伦电影| 日韩一区二区不卡| 国产精品乱码妇女bbbb| 久久精品视频一区| 一区二区三区在线播放| 日韩精品一二三区| 激情文学综合网| 国产精品成人午夜| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久99精品久久久久久久久久久久| 日韩高清不卡一区| 一区二区三区欧美久久| 狠狠网亚洲精品| 精品系列免费在线观看| 激情综合色丁香一区二区| 一区二区三区四区国产精品| 国产精品福利电影一区二区三区四区| 精品视频资源站| 在线观看亚洲一区| 日本一区二区三级电影在线观看 | 不卡一区中文字幕| 爽爽淫人综合网网站| 丰满放荡岳乱妇91ww| 欧美国产成人精品| 国产一区二区三区电影在线观看| 欧美日韩一区二区在线视频| |精品福利一区二区三区| 国产成人鲁色资源国产91色综| 国产精品一级片在线观看| 久久伊99综合婷婷久久伊| 国产精品国产精品国产专区不蜜| 亚洲国产高清aⅴ视频| 中文字幕在线观看一区| 亚洲欧美一区二区不卡| 久久er精品视频| 91亚洲永久精品| 色综合咪咪久久| 欧美一区二区三区四区在线观看|