【问题标题】:Hide some api in swagger ui在 swagger ui 中隐藏一些 api
【发布时间】:2023-07-20 12:18:01
【问题描述】:

是否可以在 hapi-swagger 中根据用户角色从文档 (swagger ui) 中隐藏一些 API。 我的意思是假设我有 /employee/admin 两个 API,所以每当管理员登录到 swagger ui 或 swagger 文档时,/employee/admin API 都应该显示在页面上,如果员工登录到 swagger ui 那么它应该只显示/employeeAPI。

【问题讨论】:

    标签: node.js swagger-ui hapijs hapi-swagger


    【解决方案1】:

    您可以通过在配置中省略 ['tag'] 值来隐藏路由,但如果不进行大量修改,您将无法在基于用户的角色上使用此功能。文档是在服务器启动时生成的,而不是即时生成的,这就是为什么您需要重新加载服务器以反映更改的原因。

    我有一个类似的用例,最后我决定为两种不同的服务(在您的情况下为员工和管理员)使用不同的端点更有意义。因此,也许像 api.domain.com/internal 和 api.domain.com/external 之类的东西,如果需要,可以很容易地围绕其中任何一个进行身份验证。如果您希望授予开发人员在一个 API 组上工作的访问权限,而不是同时开放这两个 API 组的访问权限,这也会带来优势。

    【讨论】:

      最近更新 更多