2014-11-25 2 views
0

Я действительно создаю свое первое маленькое приложение Spring, службу веб-сервиса Rest и я столкнулся с проблемой.Spring REST, пользовательский ресурс и пароль

На самом деле, у меня есть ресурс у/пользователей, и я не хочу, чтобы люди получали пароль.

Объект «Мой пользователь» содержит поле пароля.

Итак, что я могу сделать, чтобы обойти это? Могу ли я скрыть поле? Могу ли я сделать что-то лучше, чтобы справиться с этим?

Спасибо за заранее

ответ

2

Если предположить, что вы возвращаете JSON с вашего веб-сервиса можно отметить поле пароля/геттер с @JsonIgnore аннотацию, таким образом она не будет включена в JSON, возвращаемой контроллера.

Если вы возвращаете XML, и ваш объект аннотируется аннотациями JAXB, вы можете использовать аннотацию @XmlTransient для достижения того же результата.

+0

Является ли это «стандартным» или действительно распространенным способом? – mfrachet

+1

Это IMHO стандартный способ для исключения свойства из объекта, который вы хотите сериализовать, в JSON/XML. Но если объект, который вы возвращаете из ресурса REST, больше отличается от вашего класса модели, то я предполагаю, что более стандартный подход заключается в создании объекта передачи данных (DTO), содержащего только информацию, которую вы хотите открыть через ресурс REST. В этом случае вы сопоставляете объект модели с этим передающим объектом и возвращаете объект передачи из своего контроллера. Мне нравится это решение, потому что, как правило, я не хочу загрязнять объекты модели с помощью аннотаций Json, например. –

Смежные вопросы