@UnstableApi
    public <T> FutureTransformingRequestPreparation<ResponseEntity<T>> asJson(Class<? extends T> clazz,
                                                                              ObjectMapper mapper) {
        requireNonNull(clazz, "clazz");
        requireNonNull(mapper, "mapper");
        return asEntity(ResponseAs.json(clazz, mapper));
    }
Deserializes the JSON content of the {@link HttpResponse} into the specified non-container type using
the specified {@link ObjectMapper}.
For example:
<pre>{@code
ObjectMapper mapper = ...;
WebClient client = WebClient.of("https://api.example.com");
CompletableFuture<ResponseEntity<MyObject>> response =
    client.prepare()
          .get("/v1/items/1")
          .asJson(MyObject.class, mapper)
          .execute();
}</pre>

<p>Note that this method should NOT be used if the result type is a container such as
{@link Collection} or {@link Map}. Use {@link #asJson(TypeReference, ObjectMapper)} for the container
type.

@throws InvalidHttpResponseException if the {@link HttpStatus} of the response is not
                                     {@linkplain HttpStatus#isSuccess() success} or fails to decode
                                     the response body into the result type.
core/src/main/java/com/linecorp/armeria/client/WebClientRequestPreparation.java