在春天的Web RestController我們使用PagedResources
創建ResponseEntities。 我們有一個RequestMethod,它會在5km半徑內觸發元素的後臺搜索,如果在10km,20km內沒有任何結果,直到找到任何元素。如何擴展PagedResourceAssembler
由於我們現在改變客戶端給定的選項(資源被調用給定的距離),我們想要將改變後的searchDistance返回給客戶端。然後 實際的響應將是這樣的:
{
"_links": {
"self": {
"href": "http://...
"templated": true
}
},
"_embedded": {
"parcelShopResourceList": [
{
"_id": "2760183530"
...
},
{
"_id": "2760128505"
...
},
{
"_id": "2760162267"
...
},
{
"_id": "2760196914"
...
},
{
"_id": "2760147255"
...
}
]
},
"page": {
"size": 200,
"totalElements": 5,
"totalPages": 1,
"number": 0
"searchDistance": 10
}
}
現在的問題:
- 如何延長
PagedResourcesAssembler
,所以它會返回任何額外的頁面信息?
我認爲這將是足以創建一個擴展Page
,所以PagedResourcesAssembler
將額外的信息添加到頁面的信息,但這種情況並非如此。
ResponseEntity.ok(pagedResourcesAssembler.toResource(page, resourceAssembler));
然後我試圖重寫PagedResourcesAssembler
本身,而是因爲它使用了大量的私有方法的PagedResourcesAssembler.createResource
的覆蓋是不是真的有用。
我想我完全錯過了一些東西。可以請任何人向我解釋如何在我的回覆中添加更多信息?我相信這有一個更簡單的方法。
由於我想添加一個關於整個List的信息,爲了方便,我不想將這些信息插入到單個資源中。