hapi-swagger是否有可能根据用户角色隐藏文档中的一些API(swagger ui)。
我的意思是假设我有/employee
和/admin
两个API,所以每当管理员登录swagger ui或swagger文档时,/employee
和/admin
API都会显示在页面上,如果员工登录为了招摇ui,它应该只显示/employee
API。
答案 0 :(得分:1)
您可以通过在配置中省略['tag']值来隐藏路由,但是如果不进行大量修改,就不能在基于用户的角色上使用此路由。该文档不是在服务器启动时即时生成的,这就是为什么您需要重新加载服务器以反映更改的原因。
我有一个类似的用例,最后我决定为两个不同的服务(在您的情况下为雇员和管理员)使用不同的端点更有意义。因此,也许像api.domain.com/internal和api.domain.com/external之类的东西,如果需要的话,可以很容易地将身份验证包装在这两个方法中。如果您想授予开发人员使用一个API组的权限,而不是同时打开两个API组的权限,那么这也会带来好处。