我需要添加自定义delete方法并将其公开到spring数据其余存储库。 如何指定DELETE方法,因为默认情况下spring-data-rest像GET一样公开它。
@RepositoryRestResource(path = "documents")
public interface DocumentRepository extends JpaRepository<DocumentEntity, Long> {
void deleteByDate(@Param("date") LocalDate date);
}
答案 0 :(得分:1)
您添加的方法将被视为“搜索”资源(如从公开路径/documents/search/deleteByDate?...
可以看到的),并且如文档所述:
5.5.1。支持的HTTP方法 由于搜索资源是只读资源,因此仅支持GET方法。
然后的解决方案是创建一个标准的Spring MVC控制器来处理此自定义操作:
@DeleteMapping("/documents/deleteByDate")
public ResponseEntity<> deleteDocumentByDate(@RequestParam("date") LocalDate date){
....
}