使用@RepositoryRestResource 时如何暴露有限的方法?

How to expose limited methods when using @RepositoryRestResource?

我想限制我的 REST 方法,以便用户只能使用 GET 和 POST。但是,@RepositoryRestResource 提供了所有方法的说明,包括 DELETE 和 PUT。所以我只是想知道如何限制它?

@RestController 允许编写我们自己的方法,但是有很多相关的样板文件。

我一直在查看文档和 github spring 项目以获取此信息,但找不到任何内容。

有suggestions/help吗?谢谢!

编辑:最佳解决方案是 Hiding certain Repositories, query methods, or fields

根据 Spring Data Commons,您可以 fine tune your respositories 有选择地公开您想要的方法。

注意:我自己还没有测试过 Spring Data Rest 是否确实支持对上面建议的存储库进行微调。

查看此问题的另一种方法是使用 Spring 安全性来保护具有角色的方法,以便只有授权用户才能调用某些方法。

另请参阅此线程Implementing/Overriding MongoRepository Keep HATEOAS Formatting