【发布时间】:2015-03-15 08:00:57
【问题描述】:
我想限制我的 REST 方法,以便用户只能使用 GET 和 POST。但是,@RepositoryRestResource 提供了所有方法的说明,包括 DELETE 和 PUT。所以我只是想知道如何限制它?
@RestController 允许编写我们自己的方法,但是有很多相关的样板。
我一直在查看文档和 github spring 项目以获取此信息,但找不到任何内容。
有什么建议/帮助吗?谢谢!
【问题讨论】:
我想限制我的 REST 方法,以便用户只能使用 GET 和 POST。但是,@RepositoryRestResource 提供了所有方法的说明,包括 DELETE 和 PUT。所以我只是想知道如何限制它?
@RestController 允许编写我们自己的方法,但是有很多相关的样板。
我一直在查看文档和 github spring 项目以获取此信息,但找不到任何内容。
有什么建议/帮助吗?谢谢!
【问题讨论】:
编辑:最佳解决方案是Hiding certain Repositories, query methods, or fields
根据 Spring Data Commons,您可以 fine tune your respositories 选择性地公开您想要的方法。
注意:我自己没有对此进行测试,以查看 Spring Data Rest 是否确实支持上述建议的存储库微调。
查看此问题的另一种方法是使用 Spring Security 保护具有角色的方法,以便只有授权用户才能调用某些方法。
也可以参考这个帖子Implementing/Overriding MongoRepository Keep HATEOAS Formatting
【讨论】: