Rails 中的 API,信息不显示,不确定如何获取数据



我想在我的网站上使用此API:https://apidocs.tokeet.com/。当我使用 curl 命令时,我可以在我的终端中看到 json 输出,所以我知道我已经连接到它,但我不知道如何将它集成到我的 rails 网站本身上。 当我从 api 文档中粘贴时:

require "uri"
require "net/http"
url = URI("https://capi.tokeet.com/v1/rental?account={{account}}")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "{{apikey}}"
request.body = "{}"
response = https.request(request)
puts response.read_body

进入我的控制器,我得到的输出是 []。它正在做一些事情,但不是我希望它做的事情。我只需要 GET 操作即可在页面上显示内容。

我现在的主要问题是:

  • 我是否需要创建控制器/API/v1 版本,或者是否可以使用常规控制器?

  • 我是否需要为我的视图创建视图/API/v1 文件夹,还是使用常规视图?

  • 如何将 API 中的变量("城市"、"浴室"等(转换为我的视图?

我对此很陌生,尽管我以前集成过API,但该文档比该文档更具指导性。有人可以帮助我解决我的问题并提供有关如何继续的良好资源或一些指导吗?

提前非常感谢!

在我看来,您拥有的部分URL是错误的。 代替 {{account}} 应该有某种动态标识符。您只需发送字符串 {{帐户}}。服务器很可能不知道此类帐户。 也就是说,在您的情况下,URL 应如下所示:

url = URI("https://capi.tokeet.com/v1/rental?account=#{account_id}")

url = URI("https://capi.tokeet.com/v1/rental?account=" + account_id)

相反

url = URI("https://capi.tokeet.com/v1/rental?account={{account}}")

account_id是一个变量,必须包含一个唯一标识符,该标识符可以看起来像任何东西,例如 account_id = "01a04f03s34"。 这只是问题之一。 关于唯一性的{{APIiKey}}也是如此。

我做错了事,需要将代码放入模型中。我不知道,以为是控制器。现在一切正常。感谢大家的帮助!

最新更新