2015-10-05 65 views
0

我想創建一個DTO。 DTO將在春季用於將HTTP請求映射到REST Web服務。我的控制器看起來是這樣的:DTO中的相似字段

RequestMapping(value = DmsRestSvcApi.DOCUMENT_SEARCH_PATH, method = RequestMethod.POST, produces = { MediaType.APPLICATION_JSON_VALUE }) 
public List<DocSearchResponse> getDocumentInfoJson(@Validated @RequestBody DocSearchRequest oDocSearchRequest) throws Exception { 
    // do something 
} 

在上面簽名DocSearchRequest是DTO我要創建。 DTO具有如下幾個字段:

private String searchCriteria1; 
private String searchCriteria2; 
/* 
    . 
    . 
    . 
*/ 
private String searchCriteria20; 

// setters and getters. 

我們是否有更好的方法來實現DTO?有一件事要記住,Spring使用反射來將請求中的值設置爲DTO。

+1

爲什麼不使用Criterias的列表? – dunni

+0

我可以嘗試,但不知道春天是否能夠使用反射將請求映射到身體。 –

+1

如果您提供JSON列表中的值,那麼它將能夠做到這一點。 – dunni

回答

0

食堂列表解決了這個問題。我必須以逗號分隔值的形式發送請求,並且Spring負責映射。對於響應也可以做同樣的事情。

-1

Do we have a better way to implement the DTO.

有一個在DTO沒有業務邏輯。看起來你沒有太多。它應該代表對象的狀態。它應該有私有實例字段和他們的getter/setter。基本上應該遵循封裝/抽象。