问题标签 [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 回答
635 浏览

ruby-on-rails - Rails request spec - undefined method `body' for nil:NilClass (rswag)

I'm trying to generate API documentation with rwsag, and I'm confused about a couple of my specs failing.

Here is my request spec:-

Here are my two errors which don't make much sense to me:-

And my standard controller action:-

Any idea what is causing this error? I'm also a little confused with the generated rswag spec structure - i.e. no expects anywhere.

0 投票
0 回答
182 浏览

ruby-on-rails - 当十进制响应作为字符串返回时,如何在 RSpec/RSwag 中指定十进制模式格式?

所以我的 :decimal 格式的 DB 字段作为字符串返回,使我的测试失败。

我有一个使用 RSwag 的请求规范,我试图通过格式检查来通过它,但它告诉我以下内容:-

我的测试:-

解决这个问题的最佳方法是什么?如果我必须将所有字段都设为字符串,那么在我的 API 文档中使用 Swagger 有点毫无意义。

0 投票
0 回答
578 浏览

ruby-on-rails - 带有 RSwag 的 OpenAPI 3.0.3 文档无法发送“Content-Type”标头

对于我的 Rails 项目,我使用 RSwag 生成使用 OpenAPI 3.0.3 规范的文档。

我知道 Open API 3.0.3 '如果 in 是“header”并且名称字段是“Accept”、“Content-Type”或“Authorization”,则应忽略参数定义。

但是我知道它们可以通过正确配置rspecswagger_helper.rb文件来生成。例如,我swagger_helper.rb

我的 rspec 文件之一有

通过定义securitySchemes和使用它security [ authorization_header: [] ],以及使用 produces 'application/vnd.my_company.v1+json',我可以使用“试用”功能在我的招摇 UI 页面上发送Authorization和标头。Accept

但是,我无法发送Content-Type标题。我哪里做错了?

我知道如果我使用 Swagger 2.0 而不是 OpenAPI 3.0.3 不会出现这个问题,但我不想切换。

更新:

我手动添加:

在我的swagger.json文件中,现在它可以让我发送Content-Type标题!

但是我如何在我的swagger_helper.rbrspec文件中做到这一点?

谢谢!

0 投票
0 回答
95 浏览

ruby-on-rails - 在所有请求之前运行的 RSwag RSpec 测试中执行数据库设置部分

我正在为我的 API 实现 rswag。在运行任何示例(GET、POST)之前,需要完成一部分设置。这就是基本设置。但是,对于每个请求(GET、POST 等),在初始设置之后可能需要进行额外的设置,因为它会继续处理这些记录。

我习惯于编写集成测试(类型::功能),在后台我会设置对之后所有场景都有效的数据库,如果需要,每个场景都可以在数据库中添加更多记录。

下面是一个简化的例子。before(:all)部分在创建 @speech的部分之后运行,这会导致由于 @device 不存在而无法创建语音。

所以我的问题是:如何在每个请求(GET、POST 等)之前运行设置部分,以便我可以为每个请求定义更多设置。

希望这很清楚。

0 投票
1 回答
235 浏览

ruby-on-rails - 我们如何在 swagger rspecs 中传递标头

运行 rspec 响应正文时出现此错误:{"success":false,"errors":["Invalid login credentials"]} 这是我的代码

提前致谢

0 投票
0 回答
223 浏览

ruby-on-rails - Rswag 参数以奇怪的方式出现

我有一个遗留端点(我无法更改),我需要为其编写一个 Rswag 规范。

端点将 awebsite_uuid作为查询参数,将aemail作为正文参数。

目前的测试如下所示:

当我点击 时binding.pry,我检查我的参数:

为什么电子邮件会显示在此_json参数中?

参数在哪里email

为什么lead我没有指定它时会出现一个空参数?

0 投票
0 回答
436 浏览

ruby-on-rails - 在 ruby​​ on rails 6 中使用 rswag 记录 API GET 请求

我正在做一个团队项目,我们都是 rswag 的新手,我们使用 JWT 令牌作为身份验证,主要是基本的类似 crud 的控制器。我很难弄清楚 rswag,我应该记录什么,不记录什么,我们已经用 rspec 完成了测试文件。我有一个 /api/activities 端点,其中一个 GET 请求将返回一个带有一系列活动的 JSON 响应,我的问题是,我希望我的 rswag“试试看”选项返回我 5 个活动或其他东西,我有尝试为此使用 factoryBot 但无济于事(我已经在 rspec 文件中完成了此操作,我只是不知道如何正确与 rswag 交互,将创建命令放在哪里,是否在测试数据库中创建数据或在我的开发数据库中,它是否显示来自我的开发数据库或测试数据库的数据?)

无论如何,如果你们中的一些更有经验的人可以为我提供一个很好的指导,我会非常感激,并且还可以通过“试用”选项帮助我返回一系列活动。这就是我到目前为止所拥有的。

你建议我如何解决这个问题?你会怎么做?这里没有真正的“失败”场景,你要么得到一个充满活动的数组,要么得到一个空数组,这个端点不使用授权。我的控制器有一个基本的

另外,这是我现在的 swagger_helper.rb。

0 投票
0 回答
107 浏览

ruby-on-rails - rswag 规范(Rails)中的验证传入参数(在::body 中)

我花了很多时间试图实现验证传入参数的能力是 rswag 规范,我的代码:

您期望传入的参数不会通过验证,因为id - 是一个integer,并且name字段不存在。但这并不重要,测试是成功的。

你能说我的代码有什么问题吗?为什么不对 rswag 文档中声明的传入参数进行验证?

0 投票
1 回答
74 浏览

ruby-on-rails - 由于数据库错误,RSpec 模拟健康端点失败

我有一个健康端点,它将检查数据库连接是否正常工作:

我想在数据库连接失败时测试 503 状态,但我不确定如何在 RSpec 中模拟数据库失败:

0 投票
0 回答
74 浏览

ruby-on-rails - 退出 api 或任何需要身份验证标头的 api 在 Rails Api 应用程序中的 Rspec/Rswag 中不起作用

在我配置 Active Admin Gem 之前,我的纯 API 应用程序一切正常。我做了几乎所有的工作,但现在我需要 auth 标头的规范失败了。

我的 application_controller.rb

我的 api_controller.rb

我也覆盖了我的 session_controller 但我真的不认为它会导致错误,因为登录/注册工作正常。

注册控制器.rb

faqs_spec.rb

一切都在使用 Postman 和我的 React 应用程序。但是这里会出现以下错误。

请帮忙。