Spring Data Rest和Spring Data Envers:如何为扩展Revision Repository的Repository公开REST API

Azl*_* Cn 5 java rest spring-data-rest

我在RevisionRepository为我的存储库公开(Spring Data Envers)端点时遇到问题,扩展RevisionRepository如下:

    @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);

    }
Run Code Online (Sandbox Code Playgroud)

findByName暴露方法,有没有其他方法来公开方法RevisionRepository?我也尝试覆盖这些方法,DisciplineRepository但它不起作用.

谢谢...

ada*_*m p 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();
    }
}
Run Code Online (Sandbox Code Playgroud)