gpt4 book ai didi

spring-data - 为什么我的投影接口(interface)没有被 Spring Data REST 拾取?

转载 作者:行者123 更新时间:2023-12-01 04:35:13 26 4
gpt4 key购买 nike

我正在尝试使用 Spring Data REST(版本 2.3.0.RELEASE)进行预测。我读了reference documentation ,并收集到这些是我需要的部分:

JPA 实体

@Entity
public class Project implements Serializable {

@Basic(optional = false)
@Column(name = "PROJECT_NAME")
private String projectName;

// ... lots and lots of other stuff
}

与该实体一起使用的存储库

@Repository
public interface ProjectRepository extends JpaRepository<Project, Long> { }

以及一个仅检索该实体名称的投影

@Projection(name="names", types={Project.class})
public interface ProjectProjectionNamesOnly {

String getProjectName();
}

我希望能够选择性地检索项目名称列表,而投影似乎非常适合这一点。因此,通过此设置,我在 http://localhost:9000/projects/1?projection=names 处到达了终点.我取回了所有属性和集合链接,但我希望只取回名称和 self 链接。

我还查看了 sample project on projections , 但这个例子是摘录的,它似乎与预测不同,因为它是引用文献的不同部分。我试过了,但还是没用。

所以问题是:如何使用 spring data rest projections 来检索实体的单个属性(及其自身链接)?

最佳答案

看起来您的投影定义甚至没有被发现,因此如果您为 HTTP 请求选择它,它不会被应用。

对于要自动发现的投影接口(interface),它们需要放置在它们绑定(bind)到的域类型包的同一个包或子包中。

如果您不能将类型放入该位置,您可以通过调用 ….projectionConfiguration().addProjection(…)RepositoryRestConfiguration 上手动注册投影定义.

引用文档目前并没有真正提到这一点,但已经有一张票可以得到 this fixed在未来的版本中。

关于spring-data - 为什么我的投影接口(interface)没有被 Spring Data REST 拾取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29581515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com