2016-07-04 74 views
0

我正在嘗試編寫柑橘測試,用於生成和使用application/json內容的RESTful端點,而且我不確定如何讓我的響應反編組到Java Java POJO(使用Jackson或其他任何un)編組Citrus支持)。從響應中提取和解組JSON有效負載

E.g.在REST保證,我可以簡單地寫

UploadResponse response = when().post("/file").as(UploadResponse.class); 

柑橘中是否有相當的?

我只能找到例子使用validate()extractFromPayload(),這真的不覆蓋我的使用情況下,因爲我不想在標量成員工作,但嵌入請求對象的整個響應對象爲後續測試步驟。

回答

0

你可以做這樣的事情:

http().server(testServer) 
     .post("/file") 
     .validationCallback(new JsonMappingValidationCallback<UploadResponse>(UploadResponse.class) { 
      @Override 
      public void validate(UploadResponse payload, Map<String, Object> headers, TestContext context) { 
       // do something with payload object 
      } 
     }); 

的JsonMappingValidationCallback自動爲一個JSON ObjectMapper搜索中的Spring bean應用程序上下文。您還可以將ObjectMapper實例作爲構造函數arg提供給JsonMappingValidationCallback。