我有一个我想要隐藏的详细信息。但我也需要得到它。所以我写了Projection
。但它不能正常工作。
我正在写学校<>老师(等等)模型。
public class School{//...
有Set<Teacher>
。
这个集合不应该从“主要”路径(当然是学校)可见。
所以这是Projection
:
@Projection(name = "noTeacher", types = {School.class})
public interface SchoolNoTeacher extends ProjectionModel {
String getName();
String getSkz();
}
没有getTeachers()
!
这是Repository
@RepositoryRestResource(path = "school", excerptProjection = SchoolNoTeacher.class)
public interface SchoolRepository extends PagingAndSortingRepository<School, Long> {//...
但我想自己处理剩下的路径。所以我也有一个控制器。
@RestController
@RequestMapping(ScoolModel.api + "/school")
public class SchoolRestController {//...
投影不起作用。有什么办法解决吗?
答案 0 :(得分:1)
不要同时使用@RestController
和@RepositoryRestResource
。使用Spring Data Rest,RepositoryRestResource本质上是一个Controller和一个Repository结合在一起以生成HATEOAS服务端点。
如果您需要自定义基本URI,请参阅此answer。