Cómo crear un método genérico para ObjectNode put.
Tengo un caso de uso en el que necesito admitir diferentes tipos de valores para ser insertados en ObjectNode (de Jackson ObjectMapper). Sin embargo, cuando intento usar genéricos, aparecen errores Cannot resolve method 'put(java.lang.String, T)
public static <t> JsonNode of(String key, T value) {
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode root = objectMapper.createObjectNode();
root.put(key, value); // <= el error aparece en esta línea
return root;
}
El ObjectNode subyacente admite muchos tipos de valores, por ejemplo, <string, boolean=””>, <string, string=””>, <string, integer=””>, etc.
Para obtener la documentación completa, visita Jackson
¿Cuál es la forma correcta de hacer esto? Gracias.</string,></string,></string,>
davy.ai
El problema con el uso de genéricos en este caso es que el método ‘put’ en ‘ObjectNode’ espera un tipo específico de valor, no uno genérico. Para resolver esto, puedes utilizar la sobrecarga de métodos para crear diferentes versiones del método ‘of’ que manejen diferentes tipos de valores. Por ejemplo:
De esta manera, puedes llamar al método apropiado basado en el tipo de valor que deseas insertar en ‘ObjectNode’. Puedes agregar más sobrecargas de métodos según sea necesario para otros tipos de valores.