Я использую Джерси + Джексон (встроенный в Dropwizard), чтобы создать серию веб-сервисов. Я непосредственно на карте объекты в Json, передавая их в объект ответа в Джерси:Удалить поле из сущности при переходе на Джерси + Джексон
myObject object = new myObject(fields...);
return Response.ok(object).build();
поля правильно аннотированный в классе MyObject с JsonProperty («FIELDNAME»).
Но в случае, если у меня есть поле, которое мне нужно сохранить в базе данных (например, хеш-пароль), но я не хочу передавать ответы на запрос, как я могу удалить это поле при передаче объекта в Response объект?
Я не могу аннотировать поле с помощью JsonIgnore, иначе это поле не будет сериализовано вообще, когда я буду сопоставлять Json с базой данных (ElasticSearch).
Thanks; Я никогда не использовал Фильтрацию объектов, но я думаю, что это лучший способ добиться того, что мне нужно. Не могли бы вы привести пример фильтрации объектов в Dropwizard (я использую DW 0.8.0-rc1)? Возможно ли, чтобы фильтрация объектов работала только на одном ресурсе/маршруте, а не на глобальном уровне приложения? –
Я только что понял, что сейчас он не поддерживает Джексона. Я пытаюсь что-то реализовать, но это далеко не тривиально. Я говорю, просто пойдите с DTO или установите его нулевым. Если вы хотите более элегантное решение (не нужно устанавливать поле null в методе ресурса), вы можете использовать перехватчики JAX-RS, но я подумал бы дважды, прежде чем делать это. Что-то вроде пароля, я бы держал его как можно дальше от конечного процесса –
Объекты DTO +1. – Natan