2015-04-22 96 views
4

我正在考慮爲我的web服務實現JSON-RPC,使用this library。我也想爲我的服務實施SwaggerJSON-RPC Swagger組合

但是,我不確定,如果這兩者是一個很好的組合。在JSON-RPC中,所有方法都在同一個資源後面,但在Swagger中沒有任何意義。

我想知道以下幾點:

  1. 是否有可能將這些技術充分結合強度?
  2. JSON-RPC仍然是一個很好的技術嗎?或者手動實現它會更好嗎?

您的想法值得讚賞。

相關,unaswered問題:Swagger and json-rpc

+1

你有沒有發現任何替代品的JSON-RPC API文檔生成? – imapollo

回答

4

從揚鞭隊的到來,並具有JSON-RPC的小知識,我可以提供部分答案。

根據你在問題中描述的內容,使用Swagger來記錄這樣的API肯定是不可能的。 Swagger只能記錄唯一操作,其中將唯一操作定義爲路徑和HTTP動詞的組合。

不幸的是,我不能評論JSON-RPC的威力,不是因爲偏見,而是因爲我沒有意識到它的機制。另外,Swagger在描述類似REST的API時不打算覆蓋100%的用例,並不意味着超出範圍的任何內容都不好。

+0

感謝您的回答!我認爲我只需要選擇其中一個 – Karens

+0

我很樂意看到Swagger採用/適應支持JSON-RPC。正如下面的評論所說,JSON-RPC真的很棒。能夠充分利用Swagger的迷人能力真是太棒了。 – brettw

1

關於API模式的一個詞...

JSON-RPC非常強大。它是傳輸不可知的,REST被鎖定爲HTTP。如果你想使用流而不是孤立的請求,你將不得不砍。 JSON-RPC從一開始就改變你的範例,並在任何新的傳輸中運行你的API(socket.io,原始二進制文件,ZeroMQ,傳真 - > OCR,短信,任何東西)是一個微不足道的實現。

在我看來,JSON-RPC是休息,因爲REST是SOAP

+0

是的,另請參見[有關「SOAP REST」的此答案](https://stackoverflow.com/a/13952665/287948)以及[this other one]中的JSON-RPC示例(https://stackoverflow.com/a /287948分之41686155)。 –