2014-04-27 44 views
1

我想使用apiary.io來記錄基於JSON-RPC的API。我可以將頁面格式化,但控制檯根本無法使用。我如何使用JSON-RPC的蜂房

使用JSON-RPC,通常只有1個URI,例如我們的API。正因爲如此,試圖定義方法時,藍圖編輯給出了警告

Action with method POST already defined...

我想我可以忽略這一點,但在養蜂場控制檯時測試只會返回第一個響應實例行動定義。有沒有人有這方面的工作?

+0

你能分享一下這樣的JSON-RPC藍圖嗎? – Zdenek

回答

4

根據我對JSON-RPC spec和示例的瞭解,multiple requests and responses可能比多次定義POST端點更適合您。

# My API 

## JSON-RPC [/endpoint] 

### Doing something [POST] 
+ Request Sum of numbers (application/json-rpc) 

     {"method": "sum", "params": {"a":3, "b":4}, "id":0} 

+ Response 200 (application/json-rpc) 

     {"result": 7, "error": null, "id": 0} 

+ Request Posting a message (application/json-rpc) 

     {"method": "postMessage", "params": ["Hello all!"], "id": 99} 

+ Response 200 (application/json-rpc) 

     {"result": 1, "error": null, "id": 99} 

缺點:你的API將被擠壓到一個或兩個端點和個人請求不會TOC中可見。

優點:在蜂房模擬服務器的請求 - 響應配對邏輯然後將允許您使用的一些策略(上面鏈接在網頁還描述)來調用不僅僅是第一個不同的響應。但是,由於這些策略僅在發佈此答案時(在發佈此答案時)與標題或狀態代碼一起工作,並且它們不檢查傳入請求的有效內容的正文,因此您可能仍無法在控制檯中輕鬆區分您的請求。

可能的解決方法是爲您的請求提供額外的標頭,如X-Request: 1,X-Request: 2等,以便模擬服務器可以區分它們並返回正確的響應。