private Mono<ServerResponse> listPosts(ServerRequest request) {
        PostPublicQuery query = new PostPublicQuery(request.exchange());
        return postPublicQueryService.list(query.toListOptions(), query.toPageRequest())
            .flatMap(result -> ServerResponse.ok().contentType(MediaType.APPLICATION_JSON)
                .bodyValue(result)
            );
    }
@Test
    public void listPosts() {
        ListResult<ListedPostVo> result = new ListResult<>(List.of());
        when(postPublicQueryService.list(any(), any(PageRequest.class)))
            .thenReturn(Mono.just(result));

        webClient.get().uri("/posts")
            .exchange()
            .expectStatus().isOk()
            .expectHeader().contentType(MediaType.APPLICATION_JSON)
            .expectBody()
            .jsonPath("$.items").isArray();

        verify(postPublicQueryService).list(any(), any(PageRequest.class));
    }