java - Spring Data Rest & Spring Data Envers : How to expose REST API for Repository that extends Revision Repository

标签 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);

    }

只公开了findByName方法,有没有其他方法可以公开RevisionRepository中的方法?我也试图覆盖 DisciplineRepository 中的那些方法,但它不起作用。

谢谢你...

最佳答案

你必须编写一个自定义 Controller 方法来实现它,如下所示:

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

关于java - Spring Data Rest & Spring Data Envers : How to expose REST API for Repository that extends Revision Repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34196599/

相关文章:

java - 如何将不同的值传递给 scala 对象中的变量

java - 将数据库数据发送到设定的html页面

c# - ASP.NET Web API - 如何反序列化 JSON

java - 当作为查询参数给出更多字符时,REST API 没有响应

javascript - 从单独的应用程序访问 Sharepoint Project Web 应用程序 REST

java - 用于投影异常的 Spring Data Rest ResourceProcessor

Java 图形绘制在现有图形之上

java - 如何在我的 Web 应用程序中保持与第三方 API 的连接

java - 显示空属性 json 响应 Spring 数据休息?

repository - 如何测试 Spring Data Rest @RepositoryRestResource?