Как использовать bodyToFlux для разных типов подклассов, исходящих от сервера, чтобы соответствовать соответствующему типу объекта - PullRequest
0 голосов
/ 28 мая 2020

У меня есть эмиттер по http, который испускает события разных типов объектов (разные подклассы). Веб-клиент, который подписан на этот поток, должен проверить тип переданного события (сопоставить типу объекта). Как этого добиться, поскольку в этом случае не работает экземпляр оператора

1 Ответ

0 голосов
/ 28 мая 2020

У меня есть эмиттер через http, который испускает события разных типов объектов (разные подклассы)

Если эмиттер работает через HTTP, тогда нет понятия типов - события будут строки данных (конечно, сериализованные каким-то образом, вероятно, с использованием JSON.) Вам необходимо указать коду , какой тип он должен использовать для десериализации - отсюда и существование параметра класса в bodyToFlux() .

Если вы не уверены в типе, вы можете использовать bodyToFlux(Map.class) для преобразования JSON в карту - затем вы можете проверить карту, чтобы определить, в какой POJO вы хотите преобразовать , и go оттуда.

...