@Override
    @Nullable
    public Object convertRequest(
            ServiceRequestContext ctx, AggregatedHttpRequest request, Class<?> expectedResultType,
            @Nullable ParameterizedType expectedParameterizedResultType) throws Exception {

        final MediaType contentType = request.contentType();
        if (contentType != null && contentType.isJson()) {
            if (expectedResultType == TreeNode.class ||
                expectedResultType == JsonNode.class) {
                try {
                    return mapper.readTree(getContent(request, contentType));
                } catch (JsonProcessingException e) {
                    throw newConversionException(e);
                }
            }

            final ObjectReader reader = getObjectReader(expectedResultType,
                                                        expectedParameterizedResultType);
            if (reader != null) {
                final String content = getContent(request, contentType);
                try {
                    return reader.readValue(content);
                } catch (JsonProcessingException e) {
                    if (skippableTypes.containsKey(expectedResultType)) {
                        return RequestConverterFunction.fallthrough();
                    }

                    throw newConversionException(e);
                }
            }
        }
        return RequestConverterFunction.fallthrough();
    }
Converts the specified {@link AggregatedHttpRequest} to an object of {@code expectedResultType}.
core/src/main/java/com/linecorp/armeria/server/annotation/JacksonRequestConverterFunction.java