如何使用CrudRepository避免额外的json获取记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用CrudRepository避免额外的json获取记录相关的知识,希望对你有一定的参考价值。

我在spring boot应用程序中使用CrudRepository。它工作正常,但我得到额外的json属性_links。如何跳过额外的json,因为它会影响渲染大型json对象。

我得到这种json格式作为回应;

    {
  "_embedded": {
    "userses": [
      {
        "user_name": "john doe",
        "_links": {
          "self": {
            "href": "http://localhost:8080/userses/47375"
          },
          "users": {
            "href": "http://localhost:8080/userses/47375"
          }
        }
      },
      {
        "user_name": "john1 doe1",
        "_links": {
          "self": {
            "href": "http://localhost:8080/userses/21665"
          },
          "users": {
            "href": "http://localhost:8080/userses/21665"
          }
        }
      },
      {
        "user_name": "remmya1 decruize1",
        "_links": {
          "self": {
            "href": "http://localhost:8080/userses/47876"
          },
          "users": {
            "href": "http://localhost:8080/userses/47876"
          }
        }
      }
}

我如何忽略json中的那个额外部分。

答案

如果您正在使用CrudRepository,则只需调整要将其映射到的对象。例如,您使用CrudRepository的方式可能是这样的:

class UserRepository implements CrudRepository<User,String> {...}

String是标识符的类(假定user_name)

User类可能如下:

class User {
    @Id
    public String userName;
}

返回此内容时,用户将不包含_links属性。

以上是关于如何使用CrudRepository避免额外的json获取记录的主要内容,如果未能解决你的问题,请参考以下文章

我如何从 crudrepository 获取 entitymanager

如何避免相对布局中可绘制背景的额外高度?

如何避免在 Relay.createcontainer 内置的 graphql 查询中添加额外的字段?

使用 nginclude 时避免使用额外的 DOM 节点

如何修复CrudRepository.save(java.lang.Object)是springboot中的无法访问方法?

如何使用 Java SprinBoot CrudRepository 在 MySQL 中为 JSON 列插入/更新一行