Spring Data Rest和Spring Data Envers:如何为扩展修订存储库的存储库公开REST API

5

我遇到了一个问题,无法将RevisionRepository(Spring Data Envers)的端点暴露给我的仓库,该仓库扩展了以下内容:

    @RepositoryRestResource(path = "disciplines", itemResourceRel = "disciplines")
    public interface DisciplineRepository extends
        RevisionRepository<Discipline, Integer, Integer>,
        CrudRepository<Discipline, Integer>{

        @RestResource(path = "findByName", rel = "findByName")
        List<Discipline> findByName(String name);

    }

仅公开了findByName方法,是否有其他方法可以公开RevisionRepository中的方法?我还尝试重写DisciplineRepository中的这些方法,但没有成功。

谢谢...

1个回答

6
您需要编写一个自定义控制器方法来实现此功能,类似以下内容:
@Autowired
private DisciplineRepository disciplineRepository; 

@RequestMapping(value = "/disciplines/{id}/changes", method = RequestMethod.GET)
public ResponseEntity<Resource<RevisionsObject>> getDisciplineRevisions(@PathVariable(value = "id")Discipline discipline) {
    if (discipline != null) {
        Revisions<Integer, Discipline> disciplineRevisions = disciplineRepository.findRevisions(discipline.getId());
        return new ResponseEntity<>(new Resource<>(disciplineRevisions), HttpStatus.OK);
    } else {
        throw new ResourceNotFoundException();
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接