node.js – 在swgger ui中隐藏一些api

是否有可能在hapi-swagger中根据用户角色隐藏文档中的一些API(swagger ui).

我的意思是假设我有/ employee和/ admin两个API,所以每当管理员登录swagger ui或swagger文档时,所以/ employee和/ admin API都应显示在页面上,如果员工登录swagger ui那么它应该只显示/ employee API. 最佳答案 您可以通过省略配置中的[‘tag’]值来隐藏路由,但是如果没有相当多的重做,则无法在基于用户的角色上进行此操作.文档是在服务器启动时生成的,而不是动态,这就是您需要重新加载服务器以反映更改的原因.

我有一个类似的用例,最后我认为为两个不同的服务(在你的情况下是雇员和管理员)有一个不同的端点更有意义.所以也许像api.domain.com/internal和api.domain.com/external这样的东西,如果需要的话,很容易围绕其中任何一个进行身份验证.如果您希望授予开发人员访问一个API组的权限,而不是打开两者的访问权限,那么它也会带来优势.

点赞