2015-10-05 44 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。基本上应该遵循封装/抽象。