Spring Data REST自定义方法链接

时间:2014-05-30 15:39:46

标签: java spring rest spring-mvc

我有使用@RepositoryRestMvcConfiguration向REST公开的Spring Data存储库。 问题是默认情况下似乎没有公开自定义方法,也没有看到配置它的注释。 我的代码:

@RepositoryRestResource(path = "users", collectionResourceRel = "users")
public interface UserRepository extends JpaRepository<User, Integer> {

@Modifying
@Query("update User u set u.password = ?3 where u.login = ?1 and u.password = ?2")
int changePassword(String login, String oldPassword, String newPassword);

User findUserByEmail(String email);

User findUserByLogin(String login);

}

我需要用于changePassword的REST URL,最好是在控制器中以某种方式配置它:

@Modifying
@Query("update User u set u.password = ?3 where u.login = ?1 and u.password = ?2")
@RepositoryRestRequestMapping(value={"/changepwd"},  method = RequestMethod.POST)
int changePassword(String login, String oldPassword, String newPassword);

嗯,可以理解的是,存储库类不了解REST,可能这不适合与Web相关的注释。但是必须存在一些配置它的方法。为这样的需求添加控制器实在太糟糕了 - 实际上针对同一实体类的几个操作并不完全适合CRUD概念。

我是Spring Data的新手,可能会错过一些东西。如果已经支持,我们将非常感激 - 请尽情享受。

0 个答案:

没有答案