2015-10-16 177 views
1

我有一個類,裏面有我想要隱藏的細節。但我也需要明白。所以我寫了一個Projection。但它不能像它應該那樣工作。帶RestController的彈簧投影投影

我在寫學校<>教師(依此類推)模型。

public class School{//... 

有一個Set<Teacher>

這個集合不應該從'main'路徑(當然是School)看到。

因此,這裏的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 {//... 

而投影不起作用。任何方式來解決它?

回答

1

請不要一起使用@RestController@RepositoryRestResource。在Spring Data Rest中,RepositoryRestResource本質上是一個Controller和一個Repository,它們結合在一起產生一個HATEOAS服務端點。

如果您需要自定義您的基本URI,請參閱此answer

+0

「投影」呢? – rala

+0

如果您讓'@ RepositoryRestResource'按預期處理終點,那麼投影應該按預期工作。 –

+0

我現在放棄了資源 – rala