我正在使用的API有几个端点要通过VeryGoodSecurity路由,以实现PCI遵从性。
OpenAPI V3似乎确实支持this page中提到的覆盖服务器
全局服务器数组可以在路径级别或操作级别上被覆盖。如果某些终结点使用的服务器或基路径与API的其余部分不同,则这很方便。常见示例如下:
rswag怎么能做到这一点呢?
我试过这样的方法:
path('/v1/payment-methods/cards') do
post('Create a payment method from card details') do
tags('Payment Method')
consumes('application/json')
produces('application/json')
# ....
# Rest of the API will be on api.tryedge.com
servers([{
url: 'https://secure.tryedge.com',
description: 'Edge secure card portal'}])
希望在Swagger YML中实现这样的一些事情:
/v1/payment-methdos/cards:
post:
servers:
- url: https://secure.tryedge.com
description: Edge secure card portal
但我得到一个错误。
undefined method `servers' for RSpec::ExampleGroups::ApiV1PaymentMethodsController::V1PaymentMethodsCards::Post:Class
任何帮助都非常感谢。先谢了。
1条答案
按热度按时间uxh89sit1#
rswag
没有定义一个完整的helper集(包括在上面的问题中遇到的servers
)来覆盖整个OpenAPI v3架构。但是,通过操纵测试用例元数据也有可能达到同样的结果,就像上面@engineersmnky的评论所强调的那样。
这是因为rswag通过更新测试用例的
metadata
来构建模式。