获取:无法写入 JSON:无限递归(StackOverflowError);嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException

发布于 2025-01-09 05:38:23 字数 1590 浏览 1 评论 0原文

我正在创建一个健身房应用程序

以下实体 ClientEntity

enter此处图像描述

TrainerEntity

在此处输入图像描述

clientController

在此处输入图像描述

trainerController

在此处输入图像描述

ClientApi

在此处输入图像描述

训练器 Api 输入图片这里的描述

我创建了一个双向映射黑白训练器实体和客户端实体

当我为客户端或训练器执行 findall 时,我得到了与客户端 api 中一样的嵌套 json,并且与训练器 api 相同并给出 JSON: 无限递归 (StackOverflowError);

在这里我想要从 客户端 api

[
    {
        "id": 1,
        "name": "Bharath",
        "address": "#34324 Address",
        "trainerEntity": {
            "id": 1,
            "name": "Niranjan",
         }
    }
]

训练器 api:

[
    {
        "id": 1,
        "name": "Niranjan",
        "clientEntity": {
            "id": 1,
            "name": "Bharath",
            "address": "#34324 Address"
         }
     }
]

I am creating a gym application

Following Entities
ClientEntity

enter image description here

TrainerEntity

enter image description here

clientController

enter image description here

trainerController

enter image description here

ClientApi

enter image description here

trainer Api
enter image description here

I have created a bi directional mapping b/w trainer Entity and client entity

When I do findall for client or trainer I an getting nested json as in the Client api and is same with trainer api and is giving JSON: Infinite recursion (StackOverflowError);

Here I want from
client api

[
    {
        "id": 1,
        "name": "Bharath",
        "address": "#34324 Address",
        "trainerEntity": {
            "id": 1,
            "name": "Niranjan",
         }
    }
]

trainer api:

[
    {
        "id": 1,
        "name": "Niranjan",
        "clientEntity": {
            "id": 1,
            "name": "Bharath",
            "address": "#34324 Address"
         }
     }
]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

尘曦 2025-01-16 05:38:23

您可以使用 @JsonIgnoreProperties ,已经提出了类似的问题 Infinite Jackson JSON 和 Hibernate JPA 问题的递归
您可以使用
@JsonIgnoreProperties(值=“clientEntity”)
私人教练Entity trainerEntity
另一方也类似。

更好的选择是使用 Dto 而不是实体来将响应作为 json 发送。

You can use @JsonIgnoreProperties , there is a similar question already asked Infinite Recursion with Jackson JSON and Hibernate JPA issue
You can use
@JsonIgnoreProperties(value ="clientEntity" )
Private TrainerEntity trainerEntity
and similarly for the the other side too

A better option is to use Dto's instead of entities to send the response as json.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文