SmartHttpMessageConverter adresses several GenericHttpMessageConverter limitations, while providing a contract more consistent with WebFlux Encoder and Decoder, with the following differences: - A ResolvableType parameter is used instead of a Type one. - The source (MethodParameter today, maybe KType tomorrow) can be retrieved via the ResolvableType source. - No contextClass parameter (can be deduced from the MethodParameter). - A @Nullable Map<String, Object> hints additional parameter for write and read methods.