-
Notifications
You must be signed in to change notification settings - Fork 472
Open
Description
I want to create a link to a controller method that does not use single @RequestParam
annotations for each query parameter. Instead I pass an object containing all query parameters. This works fine despite that the self link I am constructing does not contain the query parameters that I am passing:
@GetMapping
public PagedModel<EntityModel<FooDto>> findBy(
@Valid Query query,
@PageableDefault(size = 5) Pageable pageable,
PagedResourcesAssembler<FooDto> assembler) {
final Link link =
linkTo(methodOn(Controller.class).findBy(query, pageable, assembler))
.withSelfRel()
.expand();
final Page<FooDto> fooList = fooService.findBy(query, pageable);
return assembler.toModel(fooList, link);
}
The result I get when requesting http://localhost:8080/foo?param1=bar
looks like this:
{
"_links": {
"self": {
"href": "http://localhost:55560/foo"
}
},
"page": {
"size": 5,
"totalElements": 0,
"totalPages": 0,
"number": 0
}
}
It does not contain the query parameters in the self link. Any chance to make this work? I cannot find any documentation on query parameters when building links expect this one here: https://docs.spring.io/spring-hateoas/docs/current/reference/html/#server.link-builder.webmvc.methods.request-params which does not help me.
Thanks in advance :)
bmr-exerp
Metadata
Metadata
Assignees
Labels
No labels