2017-06-10 118 views
0

我读了一些文章conecerning干净的建筑。对于spring项目,我是否需要注入pagerequest对象?

这些文章说,业务层不应该知道如何直接解决领域知识。 (只做什么)

PageRequest对象是由spring框架提供的。 而这个对象实现了Pageable接口。

我的问题是...

我在业务层(服务) 创建Pagerequest或它注入到层?

回答

0

你说PageRequest /可分页对象由Spring提供,所以 - 如果你正在使用Spring MVC - 我希望像在控制器级别如下:

@RequestMapping(method = ..., path = ..., produces = ...) 
public ... readSomethingPaged(@PathVariable String ..., Pageable pageable) { 
    ... 
} 

那么当然你必须通过这Pageable(通过Spring使用请求参数page=...&size=...&sort=...自动创建)通过您的服务层到您从中获取数据的位置。在Spring(Boot)中,Spring Data JPA repository派上用场。它接受由控制器创建的Pageable并返回适当的数据。

您究竟是什么意思,“我是否在业务层创建Pagerequest”? 如果您确实需要创建自己的PageRequest,那么必须在调用存储库之前完成它,然后imho不是服务本身,但控制器/门面应该对此负责。

相关问题