Java springdatarest&;SpringDataEnvers:如何为扩展修订版存储库的存储库公开RESTAPI

Java springdatarest&;SpringDataEnvers:如何为扩展修订版存储库的存储库公开RESTAPI,java,rest,spring-data-rest,Java,Rest,Spring Data Rest,我的存储库扩展了RevisionRepository(Spring Data Envers)的端点,我在公开RevisionRepository端点时遇到问题,如下所示: @RepositoryRestResource(path = "disciplines", itemResourceRel = "disciplines") public interface DisciplineRepository extends RevisionRepository<D

我的存储库扩展了
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);

    }
@RepositoryRestResource(path=“规程”,itemrourcerel=“规程”)
公共接口规程假定扩展
修订库,
积垢的{
@RestResource(path=“findByName”,rel=“findByName”)
列出findByName(字符串名称);
}
只有
findByName
方法被公开,在
RevisionRepository
中是否有其他方法公开这些方法?我还尝试在
striciderepository
中重写这些方法,但它不起作用


谢谢…

您必须编写一个自定义控制器方法来实现此功能,类似于以下内容:

@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();
    }
}
@Autowired
私人纪律;私人纪律;私人纪律;
@RequestMapping(value=“/productions/{id}/changes”,method=RequestMethod.GET)
public ResponseEntity GetDistrictionereVisions(@PathVariable(value=“id”)规程){
if(规程!=null){
修订规程视图=规程存储.findRevisions(规程.getId());
返回新的ResponseEntity(新资源(规程视图),HttpStatus.OK);
}否则{
抛出新的ResourceNotFoundException();
}
}