У меня есть серверное приложение , где я выставил некоторые службы.Я запускаю это приложение на сервере Grizzly Jersey.
У меня также есть клиентское приложение , в котором я вызываю службы, предоставляемые серверным приложением.Я снова использую клиент Джерси для вызова сервисов.
Теперь у меня есть требование, в котором я хочу вернуть:
Map<String, CustomObject>
из службы остальных, написанной в серверном приложении, и я хочу, чтобы другиеприложения, использующие мой клиент, чтобы иметь возможность извлекать ту же карту, что и сейчас, без каких-либо хлопот.
До сих пор я передавал CustomObject (s) из серверного приложения, и мой клиент десериализуетпользовательские объекты правильно.Это работает, потому что я зарегистрировал JacksonJaxbJsonProvider экземпляр с моим клиентом в Джерси.
Я уже создал службу, которая возвращает:
Map<String, CustomObject>
Но проблема здесь заключается вполучая конец, я получаю:
Map<String, Map<String, String>>
В основном при возврате Map из сервиса мой CustomObject сериализуется в JSON, который можно визуализировать как:
Map<String, String>
но на принимающей стороне он не десериализован обратно в CustomObject.Просто чтобы повторить, это работает (десериализуется) нормально в случаях, когда я возвращаю только CustomObject из сервиса.
Я знаю, что могу пройти по основной карте и преобразовать внутреннюю карту в CustomObject, используя ObjectMapper на стороне клиентано это то, чего я хочу избежать, так как могут быть доступны тысячи пользовательских объектов.
Может кто-нибудь помочь здесь?