【发布时间】:2015-04-11 18:26:52
【问题描述】:
我正在尝试用 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 的端点。我取回了所有属性和集合链接,但我希望只取回名称和自我链接。
我还查看了sample project on projections,但该示例是摘录,这似乎与预测不同,因为它是参考的不同部分。我试过了,但还是不行。
所以问题是这样的:你如何使用 spring data rest projections 来检索实体的单个属性(及其自链接)?
【问题讨论】:
-
你确定投影被发现了吗? API 根目录下的
projects链接是否真的暴露了projection模板参数? -
我认为它没有被发现:在文档中看起来返回的自我链接应该是“localhost:9000/projects/1{?projection}”但我的只是“localhost:9000/projects/1”
标签: spring-data spring-data-rest