Currently we deserialize the request body to a Map<String, Object>, but it appears that Jackson performs better when the target is a POJO. This is handled internally within the underlying transports, and so it should possible to make the change transparently.