我读了一些关于清洁架构的文章。
这些文章说业务层不应该知道如何直接解决领域知识。 (只做什么)
PageRequest对象由spring框架提供。 此对象实现了Pageable接口。
我的问题是......
我是否在业务层(服务)中创建Pagerequest 或者将它注入图层?
答案 0 :(得分:0)
你说PageRequest / Pageable对象是由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,它必须在调用存储库之前完成,那么不是服务本身,而是控制器/外观应该对此负责。