【发布时间】:2020-03-04 07:32:35
【问题描述】:
我正在尝试创建一个已创建其余端点的模拟服务
/OrderLine/lists/_generic?limit=3&_paging=NEXT
我正在做的服务层
List<OrderLineDTO> listPOL = generateMockOrderLinesByCount(Constants.COUNT);
所以我如何在这个模拟数据中应用分页而不使用存储库
我正在尝试首先将列表转换为页面的方法,但似乎没有帮助,或者我尝试的方向错误,请建议。
Page<OrderLineDTO> listToPage(List<OrderLineDTO> list, Pageable pageable) {
int start = (int) pageable.getOffset();
int end = (int) ((start + pageable.getPageSize()) > list.size() ? list.size()
: (start + pageable.getPageSize()));
Page<OrderLineDTO> page = new PageImpl<OrderLineDTO>(list.subList(start, end), pageable,
list.size());
return page;
}
我的最终 json 响应就像我需要根据通过限制添加字段,最大计数将是一些静态值,比如说 100。所以从总共 100 个字段中,这意味着 listPOL.size()=100,我需要根据给定的限制示例 10 获取此 100。 这最多可以获取 10 次,即。 10 * 限制=10 =100
[
{
"_fields": {
//some data
}
},
{
"_fields": {
//some data
}
},
{
"_count": 3,
"links": [
{
"rel": "self",
"href": "http://localhost:8080/rest/orderLine/lists/_generic?_fields=_all&_limit=3",
},
{
"rel": "next",
"href": "http://localhost:8080/rest/orderLine/lists/_generic?_fields=_all&_limit=3&Company=32&orderLine=79",
},
{
"rel": "prev",
"href": "http://localhost:8080/rest/orderLine/lists/_generic?_fields=_all&_limit=3&Company=82&orderLine=23",
}
]
}
]
【问题讨论】:
标签: java spring-boot rest mocking paging