@Override
    public RouterFunction<ServerResponse> create(String prefix) {
        return RouterFunctions
            .route(GET(PathUtils.combinePath(prefix, "/{slug}"))
                .or(GET(PathUtils.combinePath(prefix, "/{slug}/page/{page:\\d+}")))
                .and(accept(MediaType.TEXT_HTML)), handlerFunction());
    }
@Test
    void create() {
        when(client.listBy(eq(Tag.class), any(), any(PageRequest.class)))
            .thenReturn(Mono.just(ListResult.emptyResult()));
        WebTestClient webTestClient = getWebTestClient(tagPostRouteFactory.create("/new-tags"));

        webTestClient.get()
            .uri("/new-tags/tag-slug-1")
            .exchange()
            .expectStatus().isNotFound();

        Tag tag = new Tag();
        tag.setMetadata(new Metadata());
        tag.getMetadata().setName("fake-tag-name");
        tag.setSpec(new Tag.TagSpec());
        tag.getSpec().setSlug("tag-slug-2");
        when(client.listBy(eq(Tag.class), any(), any(PageRequest.class)))
            .thenReturn(Mono.just(new ListResult<>(List.of(tag))));
        when(tagFinder.getByName(eq(tag.getMetadata().getName())))
            .thenReturn(Mono.just(TagVo.from(tag)));
        webTestClient.get()
            .uri("/new-tags/tag-slug-2")
            .exchange()
            .expectStatus().isOk();

        webTestClient.get()
            .uri("/new-tags/tag-slug-2/page/1")
            .exchange()
            .expectStatus().isOk();
    }