问题标签 [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.
json - Rswag 模式不会因数组中对象的无效属性而失败
我有以下 rswag 测试:
我的 API 使用 JSON 响应:
换句话说,根据上述模式的无效响应。
但是,测试并没有失败。这是出乎意料的。
另一方面,如果我的 API 以空值数组响应:"[null]"
我得到我期望的响应:
所以我的测试是检查是否有一个对象数组,但不检查嵌套对象中的属性是否符合预期。我如何让它也检查属性?
ruby-on-rails-3 - 如何在不编写规范文件的情况下生成招摇
我正在寻找一个可以生成 swagger doc 并将其显示在 swagger UI 上的 gem,我遇到了rswag
gem,但它需要 spec 文件才能生成 swagger doc
如果我将它放在 API 控制器上,是否有任何 gem 会自动生成 swagger 文档?
swagger-2.0 - Swagger with swag gem - 多个复杂类型数组的响应
Swagger 文档说我们可以使用指定为数组类型的复杂类型对象,如下所示:
但是,如果您有一系列不同的复杂类型(例如country
,address
等)怎么办?尝试传递多个时$ref
,如下所示:
引发错误:
它只保留最后一个。怎么可能解决这个问题(如果是的话)?
谢谢你。
ruby-on-rails - 当我使用提供 swagger 和 rspec 功能的 gem 时出现路由问题
运行 rspec 测试用例时出现此错误。
swagger doc 正在正确创建。我想我缺少一些与 rspec 相关的配置更改路由。
我正在分享我的规范文件以供参考,请检查。如果您需要任何其他详细信息,请告诉我。
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 集成案例中无法在数据库中创建记录,但它在模型规范和控制器规范中确实有效......
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.eyJleHAiOjE1Njk3NjI2NzMsImVtYWlsIjoidGVzdEBpYm0uY29tIiwib3JnYW5pemF0aW9ucyI6WyJ0ZXN0X29yZzEiLCJvcmcyIl0sInJvbGVzIjpbImNjX2NvbnNvbGVfYWRtaW4iLCJyb2xlMiJdLCJpbnZlbnRvcnkiOlsidGVzdF9pbnYiXX0.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。
ruby-on-rails - rails gem rswag 自定义参数
如何在我的 rswag 规范中添加自定义参数?
Rswag 似乎只包含作为字段存在的参数
但我需要添加一个自定义参数。所以无论我做什么 - 我只能在控制器参数中看到我的模型的字段。
ruby-on-rails - 如何在 rswag 中创建嵌套对象?
我想按照 json api 规范创建一个带有 swagger 和 rails 的文档。
我的代码:
我想在下面为 json 创建代码:
我如何在 rswag 中执行此操作,在 json api 规范中是否有任何技巧?
ruby-on-rails - 如何按照 json api 规范使用 rswag 创建?
我没有找到任何关于如何使用 rswag 根据 json api 生成文档的示例。
规范/集成/pets_spec.rb
需要'swagger_helper'
可以改代码生成json api的格式吗?
如果 rswag 你会给我什么建议?
ruby-on-rails - rswag gem 无法识别我在 rspec 中的参数
运行 RSpec 时,在控制器的操作中,(使用 byebug 或 pry)请求参数中不存在特定值(例如(电子邮件或密码),因此测试结果失败有关详细信息,请参阅我的以下代码