2014-04-21 41 views
3

我試圖根據Reference 4.4 Custom ImplementationsSpring guide : Accessing MongoDB Data with REST創建一個自定義查詢。但是我的自定義方法不能從存儲庫的REST接口(/ user/search)中獲得。Spring數據REST:MongoDB存儲庫的自定義查詢

(例如瀏覽器無法找到本地主機:8080 /用戶/搜索/ GetByKidsAge年齡= 1)

有人能幫助我想通了這一點,給我一些建議嗎? 非常感謝!

下面是我的代碼:

UserRepositoryCustom.java

public interface UserRepositoryCustom {  

    public List<User> GetByKidsAge(@Param("age") int age); 
} 

UserRepositoryImpl.java

public class UserRepositoryImpl implements UserRepositoryCustom { 

    @Override 
    public List<User> GetByKidsAge(int age) { 

     return /*perform query*/; 

    } 
} 

UserRepository.java

@RepositoryRestResource(collectionResourceRel = "user", path = "user") 
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom { 

     List<User> findByLastName(@Param("name") String name); 
} 

回答

1

這是設計。只要您開始手動實施存儲庫方法,我們就不知道GETPOST是否是正確的HTTP方法,因爲執行是否是冪等的取決於您如何實現它。

所以要走的路將是實現一個自定義控制器,並使用適當的HTTP方法公開這些方法。也就是說,在我們的跟蹤器中有一個ticket提供了定義這些方法應該被暴露的方式。

相關問題