加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何使用Spring数据REST公开自定义DTO crud存储库?

发布时间:2020-12-15 01:31:51 所属栏目:大数据 来源:网络整理
导读:我不想暴露我的模型类(jpa实体),而是将它们的属性的不同子集暴露给不同的数据传输对象(DTO). 想法是DTO CrudRepository JpaRepository 实体,我想通过Spring Data REST公开DTO CrudRepository. 例: 实体: @Entity@Table(name = "groups")public class Group

我不想暴露我的模型类(jpa实体),而是将它们的属性的不同子集暴露给不同的数据传输对象(DTO).
想法是DTO CrudRepository< - > JpaRepository< - >实体,我想通过Spring Data REST公开DTO CrudRepository.

例:

实体:

@Entity
@Table(name = "groups")
public class Group {

    private Long id;
    private String name;
    private Set

JpaRepository:

@RepositoryRestResource(exported = false)
public interface GroupDao extends JpaRepository

DTO:

public class GroupWithoutRelationsDto {

    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @NotBlank
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

DTO CrudRepository:

public interface GroupDtoDao extends CrudRepository

执行:

@Repository
public class GroupDtoDaoImpl extends GenericDtoDao

GenericDtoDao:

@NoRepositoryBean
public abstract class GenericDtoDao

在这个例子中,我想用Spring数据REST公开GroupDtoDao.

在其他bean中,我可以自动装配GroupDao和GroupDtoDao,因此两者都由Spring的上下文管理.如果我没有使用@RepositoryRestResource(exported = false)注释GroupDao,那么JpaRepository将作为REST服务公开,所以我认为Spring数据REST配置得很好.

如何告诉它公开我的自定义CrudRepository?

最佳答案
有a JIRA issue澄清如何做到这一点.

目前,SDR团队表示“我们通常建议只使用Jackson mixins来挂钩自定义序列化器,自定义输出等.请参阅Spring RESTBucks的示例.”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读