Spring MVC:奇怪的 @ResponseBody 行为

发布于 2024-11-02 12:06:46 字数 360 浏览 1 评论 0原文

你好 我有层次结构 B 扩展 AA 具有属性 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故人如初 2024-11-09 12:06:46

你的定义在这里并不重要。返回的对象是序列化的。

您可以执行以下任一操作:

  • 使用 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:

  • use BeanUtils.copyProperties(..) to copy properties from the B instance to a new A instance, specifically created to be returned.
  • return new A()
  • mark valueB in B as @JsonIgnore
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文