JsonView не работает
Я использую аннотацию @JsonView, но она не работает, вот мой код и возвращаемые данные, не могли бы вы помочь мне посмотреть, где я ошибаюсь.
моя весенняя банка показывает издание " spring-web-3.2.8.ОСВОБОЖДАТЬ.jar", и я просто добавляю этот боб, я не знаю, полезно это или нет, и я просто использую @JsonView непосредственно в своем коде
<bean id = "jacksonMessageConverter" class = "org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</bean>
вот класс представления
public class View {
public interface Summary{};
}
это класс сущности пользователя(с" set "" get " метод опущен), он имеет несколько атрибутов, которые соответствуют базе данных, атрибут "статус" не должен возвращаться в данные 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;
}
}
и вот мой класс сообщений с методами" set "" get"
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": "123@qq.com",
"password": "123",
"status": 0
}
}
1 ответов
Как описано в объявление в блоге, эта функция доступна только с Spring Framework 4.2. Он не будет работать с весны 3.2.8.