I have a case where I need to implement a search. I want to pass a list of objects as query parameters. Below is a sample code.
Controller:
@RestController
@RequiredArgsConstructor
class RssFeedController {
private final RssFeedFacade rssFacade;
@GetMapping(value = "/rss", produces = MediaType.APPLICATION_JSON_VALUE)
public RssFeedDto findRssFeed(@ModelAttribute FindRssFeedDto findRssFeedDto) {
return rssFacade.findRssFeed(findRssFeedDto);
}
}
Dto:
@Value
public class FindRssFeedDto {
List<Author> authors;
FeedStatus status;
@Value
public static class Author {
String name;
String authorId;
// ...
}
}
I tried to send GET request with list of objects in query parameter, in several different ways like:
authors=[{"name":"name","authorId":"authorId"}]
authors[0].name=name&authors[0].authorId=authorId
but list of authors is always null. I need to prepare a query that will allow me to search by many parameters. Is an additional custom deseriazlizer needed here?