Spring MVC:奇怪的 @ResponseBody 行为
你好 我有层次结构 B 扩展 A
。 A
具有属性 valueA
,B 具有属性 valueB
。 Spring MVC 示例方法
public @ResponseBody A justTesting() {
返回新的 B();
}
JSON 答案将是 {"valueB":"valueB","valueA":"valueA"}
,但我期望 {"valueA":"valueA"}< /code> 因为我的接口返回 A
如何修复返回值?
Hello
I've got hierarchy B extends A
. A
has property valueA
, B has property valueB
. Spring MVC example method
public @ResponseBody A justTesting() {
return new B();
}
JSON answer will be {"valueB":"valueB","valueA":"valueA"}
, but I expected {"valueA":"valueA"}
because my Interface returns A
How can I fix return value?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的定义在这里并不重要。返回的对象是序列化的。
您可以执行以下任一操作:
BeanUtils.copyProperties(..)
将属性从B
实例复制到新的A
实例,专门创建用于返回。new A()
B
中的valueB
标记为@JsonIgnore
Your definition doesn't matter here. The object that is returned is serialized.
You can do either of the following:
BeanUtils.copyProperties(..)
to copy properties from theB
instance to a newA
instance, specifically created to be returned.new A()
valueB
inB
as@JsonIgnore