Игнорирование JSON структуры в ServerResponse.BodyBuilder.body()

Столкнулся с непониманием почему игнорируется Jackson при создании ответа в WebFlux ServerResponse.

Код Handler:

@Component
public class CommonHandler {
    public Mono<ServerResponse> testRouter(ServerRequest request) {
        return ServerResponse
                .ok()
                .body(Mono.just("abc"), RouterResponse.class);
    }

    public Mono<ServerResponse> testRouter2(ServerRequest request) {
        return ServerResponse
                .ok()
                .body(BodyInserters.fromValue(new RouterResponse("abc")));
    }
}

RouterResponse

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonTypeName("response")
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
public class RouterResponse {
    public String message;
}

При вызове testRouter результат: "abc"

А при вызове testRouter2 формируется нужная мне структура:

{
    "response": {
        "message": "abc"
    }
}

Может, кто, пожалуйста, подсказать почему разная реализация составления ответа?


Ответы (0 шт):