Я использую аннотацию @JsonView, но это не работает, вот мой код и возвращаемые данные, пожалуйста, помогите мне посмотреть, где я ошибаюсь.JsonView не работает
Моя весенняя баня показывает издание «spring-web-3.2.8.RELEASE.jar», и я просто добавляю этот компонент, я не знаю, полезен он или нет, и я просто использую @JsonView напрямую в моем коде
<bean id = "jacksonMessageConverter" class = "org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</bean>
Вот Посмотреть класс
public class View {
public interface Summary{};
}
Это класс объектов пользователя (с «установить» «получить» метод опущен), он имеет несколько атрибутов, которые соответствующую базу данных, атрибут статуса не должен возвращаться в json-данных.
public Class User{
@JsonView(View.Summary.class)
private Integer uid;
@JsonView(View.Summary.class)
private String first;
@JsonView(View.Summary.class)
private String last;
@JsonView(View.Summary.class)
private String email;
@JsonView(View.Summary.class)
private String password;
private Integer status;
}
Я имел контроллер
@RequestMapping(value="/login", method=RequestMethod.POST)
@JsonView(View.Summary.class)
@ResponseBody
public Message login(String email, String password){
User user = userMapper.findUser(email,password);
Message message = new Message();
message.setUser(user);
return message;
}
}
и вот мой класс сообщений с «набором» «получить» методы
public class Message {
private int box_hits;
private List<Box> boxes;
@JsonView(View.Summary.class)
private User user;
}
, когда я использую почтальон для проверки URL, он показывает данные json, очевидно, он не должен возвращаться с атрибутом без @JsonView, что не так с моим кодом?
{
"box_hits": 0,
"boxes": null,
"user": {
"uid": 1,
"first": "yuan",
"last": "kang",
"email": "[email protected]",
"password": "123",
"status": 0
}
}
Для весны 4.2 работать с '@ JsonView' см. Http://stackoverflow.com/questions/32299334/jacksons-jsonview-annotation-does-not-work#38777244 – GKislin