更新spring数据休息库中的方法

时间:2014-07-31 13:24:07

标签: java spring spring-data spring-data-rest

我正在使用Spring数据休息,我想在我的存储库中添加一些额外的功能。

@RestResource(exported = true)
public class ItemRepository extends JpaRepository<Item, Long> {

    @Query("update ...")
    void modifyItem();
}

只能通过/ items / find / modifyItem

中的GET请求访问modifyItem()方法

如何将请求方法更改为UPDATE?

如何删除&#34;发现&#34;来自URI?

2 个答案:

答案 0 :(得分:3)

这里有两个问题:

  1. 查询方法声明无效,因为它需要携带@Modifying注释才能正确执行查询。
  2. Spring Data REST不会导出该方法,因为通常很难推断出正确的HTTP方法可用于曝光。暴露该方法的当前方式是插入一个手动实现的控制器,该控制器将注入存储库并手动调用该方法。

答案 1 :(得分:0)

@Query(Update (Table name) SET (schema you want to update) = :variable WHERE ID=1)
public void update(@Param("variable") String variable);

我认为应该有效