Я пытаюсь создать конвертер сообщений CSV для использования с конвертерами сообщений Spring
, но я не могу настроить метод support(Class<?> clazz)
, когда clazz
имеет тип Collection
. По сути, моя конечная точка REST
возвращает Collection
объектов напрямую, а не внутри другого объекта.
Используя отражение, единственное, что я могу получить как тип Collection
, это E
, что, очевидно, не дает мне много работы.
Я пробовал вручную, а также с помощью вспомогательных инструментов, таких как TypeUtils.genericArrayType(clazz)
из Apache Commons
.
Единственное, что я могу обойти, - это всегда возвращать true и проверять тип внутри метода writeInternal(Object o, HttpOutputMessage message)
.
Это ошибка в реализации класса AbstractMessageConverterMethodProcessor
, который возвращает тип возврата конечной точки, или я что-то упустил?
Кстати, это метод, который возвращает тип в реализации Spring?
protected Class<?> getReturnValueType(Object value, MethodParameter returnType) {
return (value != null ? value.getClass() : returnType.getParameterType());
}