2016-11-12 114 views
1

我正在嘗試將一個客戶端寫入一個大的非Swagger記錄的API,並認爲爲它編寫swagger.json 並使用AutoRest會是一種好方法做到這一點。的情況是,這個API包裝的每個操作的響應 數據與控制信息,像這樣的大物件:使AutoRest地圖類在響應中的子對象

{ 
    "resp_code": "SUCCESS", 
    "caller_ref": "2016111116233156169531", 
    "server_ref": "2016111116233189512798", 

    "data": { 
     "id": "idstring", 
     "name": "nameString", 
     "address": "addressString", 
     ... 
     } 
} 

其中,「數據」,在這種情況下,對我們來說是一個「客戶」的定義。有沒有辦法在swagger.json文件中定義200 OK響應 架構和定義,以便AutoRest將此「數據」映射到客戶端類?

+0

對於「客戶定義」,你的意思是說你已經擁有*數據屬性的類定義。所以你想讓AutoRest使用*你的*定義而不是自己生成(這是默認行爲)? – olydis

+0

不,@olydis,請參閱下面的答案,感謝評論, – lccarvalho

回答

0

其實答案很瑣碎,我不得不做的是這樣寫的招搖文件的「響應」對象:

"responses": { 
       "200": { 
        "description": "successful operation", 
        "schema": { 
         "type": "object", 
         "properties": { 
          "data": { 
           "$ref": "#/definitions/Client" 
          } 
         }        
        } 
       } 
      } 

除了創造了Client定義。 AutoRest生成檢索「數據」對象的代碼,可以訪問其中的客戶端。