簡體   English   中英

REST最佳實踐:Rest API可以發出請求嗎?

[英]REST Best Practices: Can a Rest API make requests?

我有一個工作流,它通過REST API從產品1到產品2再回到產品1。

我們希望保持我們的API RESTful並使用最佳實踐。
產品2向產品1反饋的最佳方法是什么?

  • 可以2將事件傳遞到他自己的API命名空間/項目,以發布到1的API。
  • 還是應該2在功能2中的任何位置直接調用1的API。

換句話說,REST API進行出站調用是聞所未聞的,還是REST API嚴格來說僅是等待輸入的觀察服務。

在回答您的第一個問題“ REST API可以發出請求嗎?”時,我會說“不” ...但是服務API背后的應用程序肯定可以向其他REST API發出請求。

REST API並未指定對其他API的“請求” ...您應該從每個用戶/ API客戶端的角度來考慮REST API,而不是從多個服務的“協調視圖”的角度來看,這是另一種級別的視圖。系統。 這意味着,服務1的用戶將看到該服務的REST API,並且內部服務1可以調用服務2或其他服務,反之亦然,但服務1用戶(API客戶端)不應理解該服務。 因此,我要說的是,REST API不是關於給定應用程序提供的“出站調用”,而是“觀察服務”,基本上是在REST中可以在資源(具有給定URI)上執行的動作(HTTP動詞)。

詳細介紹您的情況,如果我理解正確,您將對服務1進行一些調用,這將觸發對服務2的調用,並會回復服務1。此調用從服務1到服務的REST API 2,並且在許多情況下,它可以等待服務2的響應(服務2將僅回復服務1調用)。 我們可以想象更復雜的行為,即此調用不是“阻塞”的,這將導致需要在服務2完成某些計算(由服務1調用觸發)時定義從服務2到服務1 API的新調用“返回”。 在這最后一種情況下,可以通過從服務2到服務1的某些API端點的“回調”調用來實現。

希望這有助於您了解情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM