2016-06-15 38 views
2

我嘗試使用vibe.d其餘客戶發生器,這樣的代碼發送後一些對象:如何發佈與vibe.d REST客戶端生成單個對象

class App 
{ 
    string id; 
    string cmd; 
} 

interface IntREST 
{ 
    @path("/apps") 
    @method(HTTPMethod.POST) 
    App postApp(App app); 
} 

和vibe.d與嵌套像生成JSON這樣

{ 
    "app": { 
     "id": "appid", 
     "cmd": "command" 
    } 
} 

,但我需要發送JSON不喜歡築巢

{ 
    "id": "appid", 
    "cmd": "command" 
} 
+0

Vibe根據方法簽名生成json。你可以試試App postApp(string id,string cmd)作爲你的方法,它會生成你期望的Json,但是你需要在你的實現中將它轉換爲'App'對象。 –

+0

基本上,App類比兩個字段多得多,並且不太方便將所有的字段傳遞給函數。 – zunkree

+0

我在Vibe.d問題追蹤器上問了一個[類似問題](https://github.com/rejectedsoftware/vibe.d/issues/1422),你應該考慮在那裏打開一個增強請求;-) – greenify

回答

0

隨着vibe.d 0.8.0,你可能毀損k使用@bodyParam獲得所需結果的方法:

@bodyParam(app) 
App postApp(App app);