2017-06-10 164 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不是服務本身,但控制器/門面應該對此負責。

相關問題