我尝试为我的API创建2个文档。我在路由中有2个命名空间,我需要为我的第一个命名空间和第二个命名空间创建2个文档。在请求测试中,它们被划分在2个文件夹中。我如何自动生成这2个文档以及我需要在路由文件中写什么?在路由中我为rswag引擎写了两个挂载,但是我不知道我需要用我的swagger.yml文件做什么
jogvjijk1#
过了一段时间,我做到了这样:swagger_helper.rb:
docs = { 'v1/robots_api.yaml' => { openapi: '3.0.1', info: { title: 'API V1', version: 'v1' }, paths: {}, components: { securitySchemes: { Bearer: { description: 'JWT key necessary to use API calls', type: :apiKey, name: 'Authorization', in: :header } } }, servers: [ { url: ENV.fetch('ROUTES_HOST'), variables: { defaultHost: { default: ENV.fetch('ROUTES_HOST') } } } ]
{\fnSimHei\bord1\shad1\pos(200,288)}
if Rails.env.development? docs.merge!({ 'v1/swagger.yaml' => { openapi: '3.0.1', info: { title: 'API V1', version: 'v1' }, paths: {}, components: { securitySchemes: { Bearer: { description: 'JWT key necessary to use API calls', type: :apiKey, name: 'Authorization', in: :header } } }, servers: [ { url: ENV.fetch('ROUTES_HOST'), variables: { defaultHost: { default: ENV.fetch('ROUTES_HOST') } } } ] } }) end config.swagger_docs = docs
config/initialaziers/rswag_ui.rb
Rswag::Ui.configure do |c| c.swagger_endpoint '/api-docs/v1/swagger.yaml', 'API V1 Docs' if Rails.env.development? c.swagger_endpoint '/<api_name>/api-docs/v1/<my_second_doc>.yaml', 'API V1 Docs <my api>' end
然后我使用rake rswag它为我生成2个文档。
1条答案
按热度按时间jogvjijk1#
过了一段时间,我做到了这样:
swagger_helper.rb:
{\fnSimHei\bord1\shad1\pos(200,288)}
config/initialaziers/rswag_ui.rb
然后我使用rake rswag它为我生成2个文档。