我创建了一个带有querydsl过滤的hateoas restapi。
使用的依赖项:
在代码中,我有以下内容:
@GetMapping(produces = {"application/hal+json"})
@PageableAsQueryParam
public ResponseEntity<PagedModel<ItemModel>> findItems(
@QuerydslPredicate(root = Item.class) Predicate predicate,
@Parameter(hidden = true) Pageable pageable) {
log.info("Items retrieved");
Page<Item> allItems = itemService.findAll(predicate, pageable);
return itemsToResponse(allItems);
}
用这个 @QuerydslPredicate
注解,可以这样过滤项 /?name=First&age=30
.
但是在haljson响应中,我想宣布哪些属性(比如 name
以及 age
在本例中)可用于过滤。
例如:
{
"links": [
{
"rel": "items",
"href": "/items{?name,age}"
}
]
}
有没有可能用查询dsl自动生成?或者,如果必须手动构建,我将如何构建这样的链接?
暂无答案!
目前还没有任何答案,快来回答吧!