Red de conocimiento informático - Problemas con los teléfonos móviles - SpringBoot no puede serializar modelos generados por protobuf.

SpringBoot no puede serializar modelos generados por protobuf.

La configuración no tuvo efecto y el mensaje de error es el siguiente:

En primer lugar, sospeché que ProtobufHttpMessageConverter no estaba registrado en la lista HttpMessageConverter, así que comencé a rastrear el código fuente para averiguar si se había agregado a la lista HttpMessageConverter:

Si se había agregado, ¿por qué no pasar la lógica del convertidor? p>

Ahora que se ha agregado, ¿por qué no echa un vistazo a la lógica del convertidor y continúa buscando:

convertidor.canWrite(valueType, selectedMediaType) Este método devuelve falso y hace que el texto sea inapropiado. Configuración, lo siguiente generará una excepción después de confirmar que la lógica está vacía:

Continúe mirando hacia abajo, es canWrite una subclase de la clase principal org.springframework.google .protobuf.¿Mensaje?

Al observar el archivo java generado, encontramos que el modelo no hereda de GeneratedMessageV3, sino de GeneratedMessageLite, que es la causa raíz del problema.

Este modelo no hereda de GeneratedMessageV3.