gpt4 book ai didi

ruby - Rails Grape-Swagger : get current domain for base_path

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:38 24 4
gpt4 key购买 nike

我有下面的 Grape 根类定义

module Api
class Root < Grape::API
mount Api::Version1



add_swagger_documentation :mount_path => 'docs',
:base_path => "/api",
:markdown => true,
:hide_documentation_path => true
end
end

问题是“:base_path”应该包括一个完整的 URL,我不知道从哪里得到它。我检查了 ENV 变量,没有接近当前域的内容。也没有任何类型的“请求”对象。在 Ruby 中有什么方法可以只获取当前域,即 HTTP_HOST 变量?

最佳答案

好吧,对于这些年来在这里徘徊的人(就像我一样),- 这是对我有用的解决方案:

add_swagger_documentation base_path: lambda { |request| "http://#{request.host}:#{request.port}" }
... #other options

基本上你只需要传递一个产生 Grape::Request 实例的过程,你可以从中提取主机和端口数据。

关于ruby - Rails Grape-Swagger : get current domain for base_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com