【问题标题】:Nested resources in grape / swagger葡萄/招摇中的嵌套资源
【发布时间】:2021-09-27 07:04:16
【问题描述】:

在我正在使用的项目中

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 文档中,这是以所有路径都属于用户命名空间的方式显示的

如何将这些路径分成多个部分?

【问题讨论】:

  • 你的意思是,你让usersmaterials 显示另一个的方式?
  • 现在部分名称是“users”,描述为“关于用户的操作”,所有端点都在这里。我想为“材料”、“身份验证”等设置单独的部分,每个部分都有自己的终点

标签: ruby-on-rails swagger grape


【解决方案1】:

虽然我没有使用过grape-swagger,但您可以通过使用tags 并为每个端点分配一个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-

【讨论】:

  • 是的,谢谢,我在desc 块中指定了标签,一切顺利。为什么它会这样工作有点奇怪(为什么默认情况下标签只取自第一个命名空间),但它有效,谢谢
猜你喜欢
  • 2016-02-23
  • 1970-01-01
  • 2022-09-30
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 2018-11-07
  • 2015-06-13
  • 2020-12-23
相关资源
最近更新 更多