我有一个 Rest 图层,可以调用服务图层。
我的语言是 Java 和Spring Framework
一些代码将是:
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public Entity get(@PathVariable("id") Long id) {
Entity entity = new Entity();
entity.setId(id);
return entityService.get(entity);
}
嗯....这是我的问题:
使用单位方法过滤get like更好:
entityService.getByID(ID); entityService.getByValue1(值1); entityService.getByIDAndValue1(id,value1);
最好在静止层设置实体属性并调用 服务传递对象?
答案 0 :(得分:1)
我认为您可能有一些单独的方法用于更频繁的用例,例如findByPrimaryKey(id)
或findByName
,还有一个find by example方法,它将通过给定实体中的所有非空字段查找实体。
您还可以定义一个业务感知查询接口(我的意思是没有数据库层查询)来查找对象,但这会使您的休息服务层代码变得复杂,所以我更喜欢分离和简单的方法,这将使您的服务层更具可读性。 / p>
还有一个Parameters Object设计模式,意味着在对象中对逻辑相关的参数进行分组,例如。作为DateRange
对象开始日期和日期。
但是当一些逻辑相关的对象序列作为参数传递给各种方法时,这很有用。例如,contact参数可以包含地址,Zipcode和tel。