问题标签 [rswag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1648 浏览

json - Rswag 模式不会因数组中对象的无效属性而失败

我有以下 rswag 测试:

我的 API 使用 JSON 响应:

换句话说,根据上述模式的无效响应。

但是,测试并没有失败。这是出乎意料的。

另一方面,如果我的 API 以空值数组响应:"[null]"我得到我期望的响应:

所以我的测试检查是否有一个对象数组,但检查嵌套对象中的属性是否符合预期。我如何让它也检查属性?

0 投票
1 回答
273 浏览

ruby-on-rails-3 - 如何在不编写规范文件的情况下生成招摇

我正在寻找一个可以生成 swagger doc 并将其显示在 swagger UI 上的 gem,我遇到了rswaggem,但它需要 spec 文件才能生成 swagger doc

如果我将它放在 API 控制器上,是否有任何 gem 会自动生成 swagger 文档?

0 投票
1 回答
153 浏览

swagger-2.0 - Swagger with swag gem - 多个复杂类型数组的响应

Swagger 文档我们可以使用指定为数组类型的复杂类型对象,如下所示:

但是,如果您有一系列不同的复杂类型(例如country,address等)怎么办?尝试传递多个时$ref,如下所示:

引发错误:

它只保留最后一个。怎么可能解决这个问题(如果是的话)?

谢谢你。

0 投票
1 回答
616 浏览

ruby-on-rails - 当我使用提供 swagger 和 rspec 功能的 gem 时出现路由问题

运行 rspec 测试用例时出现此错误。

swagger doc 正在正确创建。我想我缺少一些与 rspec 相关的配置更改路由。

我正在分享我的规范文件以供参考,请检查。如果您需要任何其他详细信息,请告诉我。

0 投票
1 回答
561 浏览

factory-bot - Rswag 中的 FactoryBot 故障

Rswag 似乎是在集成测试中指定 API 的一个很酷的工具。这是我第一次尝试,但停留在 FactoryBot 创建中。以下是我所做的:

在 rails_helper.rb 中,添加了 require 和 load 支持帮助文件:

在 spec_helper.rb 中,添加了支持助手:

在 spec/support 文件夹中,一个文件用于 FactoryBot,一个文件用于一些助手:

创建为 spec/factories/node.rb 的工厂文件

然后,通过了以下传统 rspec api 测试

但是当试图开发一个 rswag 测试文件时,它失败了......

它失败并出现以下错误:

痕迹很长,我想我想把某事有用

在stackoverflow中也做了一些谷歌搜索,但找不到任何线索。非常感谢你的帮助!

更新

更改为使用 'before' 而不是 let 时出现同样的错误,在 rswag 集成案例中无法在数据库中创建记录,但它在模型规范和控制器规范中确实有效......

0 投票
1 回答
2103 浏览

header - Rswag:授权标头出现在查询参数中

版本:rswag (2.0.5)、rspec (3.8.0)

环境:Rails 5.2.3、Ruby 2.4.5

这是我第一次使用它,在授权标头中卡了一天。这是我所做的:

预期:在“授权”标头中设置了“Bearer ....”实际:在测试日志中,我发现:

[INFO] [2019-09-29 01:11:13 UTC] [anony] [no session] [no req] [other other]Started GET "/api/v1/nodes?searchString=test&searchColumn=;Name;¶ms& headers [HTTP_AUTHORIZATION]=Bearer+eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1Njk3NjI2NzMsImVtYWlsIjoidGVzdEBpYm0uY29tIiwib3JnYW5pemF0aW9ucyI6WyJ0ZXN0X29yZzEiLCJvcmcyIl0sInJvbGVzIjpbImNjX2NvbnNvbGVfYWRtaW4iLCJyb2xlMiJdLCJpbnZlbnRvc​​nkiOlsidGVzdF9pbnYiXX0.eenTMWUy6kSHO58_kLKoKWmNjvQ9i5TU9ex4Ou-ausE&headers[HTTP_ACCEPT]=application%2Fjson" for 127.0.0.1 at 2019-09-29 01:11:13 +0000 [INFO] [2019-09-29 01:11:13 UTC ] [anony] [no session] [no req] [other other]由 Api::V1::NodesController#index 处理为 HTML ...... [DEBUG] [2019-09-29 01:11:13 UTC ] [anony] [no session] [no req] [other other]Auth by JWT token.... [ERROR] [2019-09-29 01:11:13 UTC] [anony] [no session] [no req ] [other other]请求中不包含 JWT 令牌

正如日志中用粗体标记的那样,“Authorization”和“Accept”标头出现在查询参数中,这些标头应该是 http 标头,因此无法从代码中的标头中检索到 JWT 令牌。

我也尝试不使用securityDefinition,而是在标题中指定一个参数,如下所示:参数名称:'Authorization',:in =>:header,:type =>:string。它也没有工作。

不确定我错过了什么配置,或者我做错了什么?谢谢!

更新:似乎与其他宝石冲突有关?我再次尝试创建一个新的 Rails 5 api 应用程序,只添加 rspec 和 rswag gems,并使用一个简单的测试用例运行,它成功了!这是我的 Gemfile:

[已解决] 似乎不适用于 Rack::Test::Methods

它在删除帮助文件中的“include Rack::Test::Methods”行后起作用,该文件是之前添加的,用于使用“get”来测试 API。

0 投票
1 回答
1682 浏览

ruby-on-rails - rails gem rswag 自定义参数

如何在我的 rswag 规范中添加自定义参数?

Rswag 似乎只包含作为字段存在的参数

但我需要添加一个自定义参数。所以无论我做什么 - 我只能在控制器参数中看到我的模型的字段。

0 投票
1 回答
424 浏览

ruby-on-rails - 如何在 rswag 中创建嵌套对象?

我想按照 json api 规范创建一个带有 swagger 和 rails 的文档。

我的代码:

我想在下面为 json 创建代码:

我如何在 rswag 中执行此操作,在 json api 规范中是否有任何技巧?

0 投票
1 回答
1655 浏览

ruby-on-rails - 如何按照 json api 规范使用 rswag 创建?

我没有找到任何关于如何使用 rswag 根据 json api 生成文档的示例。

规范/集成/pets_spec.rb

需要'swagger_helper'

可以改代码生成json api的格式吗?

如果 rswag 你会给我什么建议?

0 投票
2 回答
794 浏览

ruby-on-rails - rswag gem 无法识别我在 rspec 中的参数

运行 RSpec 时,在控制器的操作中,(使用 byebug 或 pry)请求参数中不存在特定值(例如(电子邮件或密码),因此测试结果失败有关详细信息,请参阅我的以下代码