2017-05-18 46 views
1

我有Spring數據REST的Spring Boot應用程序。Spring Data REST存儲庫404不時彈出

我有以下類在裏面:

數據JPA庫認證的目的:

public interface UserRepository extends JpaRepository<User, Long> { 
    User findByUsername(String username); 
} 

安全數據REST庫的API用法:

@RepositoryRestResource 
@Secured(Role.ROLE_USER_READ) 
public interface UserDataRestRepository extends PagingAndSortingRepository<User, Long> { 
    @Override 
    @Secured(Role.ROLE_USER_WRITE) 
    <S extends User>S save(S entity); 

    @Override 
    @Secured(Role.ROLE_USER_DELETE) 
    void delete(Long id); 
} 

庫REST配置者適配器:

@Configuration 
public class RepositoryRestConfig extends RepositoryRestConfigurerAdapter { 
    @Override 
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { 
     config.setRepositoryDetectionStrategy(RepositoryDetectionStrategies.ANNOTATED); 
     config.setReturnBodyOnCreate(true); 
     config.setReturnBodyOnUpdate(true); 
     config.setReturnBodyForPutAndPost(true); 
    } 
} 

問題是,當我啓動我的應用程序時,API的Data REST存儲庫不時不可用。我想這是因爲Spring使用第一個JPA存儲庫重寫了User類型的存儲庫bean。

在Actuator beans endpoint中,即使REST API爲/ users頁面顯示404,我也可以看到兩個bean。

同樣,這種行爲對我來說是不可預測的 - 有時它有用,有時不起作用。

你知道如何告訴Spring如何使用Data REST的確切bean嗎?

在此先感謝。

回答

0

經過一番調查,我發現發佈了完全相同的問題here

另外,參見this one

最後,我將2個存儲庫合併爲一個,它解決了我的問題。但這絕對不是我喜歡的方式。

相關問題