首页 > 解决方案 > 葡萄/招摇中的嵌套资源

问题描述

在我正在使用的项目中

gem 'grape'
gem 'grape-swagger'

我在 API 中有一个命名空间,负责用户端点

namespace :users do
  mount V1::Users::AuthAPI
  mount V1::Users::MaterialsAPI
  ...
end

每个挂载的文件都有自己的命名空间,例如app/api/v1/users/materials_api.rb

namespace :materials do
  ...
end

在 swagger 文档中,这是以所有路径都属于用户命名空间的方式显示的

在此处输入图像描述

如何将这些路径分成几部分?

标签: ruby-on-railsswaggergrape

解决方案


虽然我没有使用过grape-swagger,但您可以通过使用tags并分配给每个端点 a 来实现tag

openapi: 3.0.0
....
tags:
  - name: users
   description: something about users
  - name: materials
   description: something about materials
paths:
  /api/v1/users/auth:
    post:
     tags:
       - users
     ...
  /api/v1/users/materials:
    get:
      tags:
        - materials
     ....
      

该配置应该呈现如下内容:

在此处输入图像描述

我看到grape-swagger 有这个https://github.com/ruby-grape/grape-swagger#tags-


推荐阅读