gpt4 book ai didi

ruby-on-rails - ruby on Rails MVC 框架项目中的 API 调用在哪里?

转载 作者:行者123 更新时间:2023-12-02 09:51:33 27 4
gpt4 key购买 nike

我有一个使用 mvc 框架的 Ruby on Rails 应用程序。截至目前,我在 Controller 中有 API 调用,但认为这不是适合它们的地方。我的所有 API 调用应该放入哪种类型的文件?谢谢

def getDetails(id)
api_response = HTTParty.get(base_uri, :query => {:DID => id, :DeveloperKey => devKey})
@json_hash = api_response.parsed_response
return @json_hash
end

最佳答案

对外部服务(第三方)的 API 调用并不特定于您的应用,因为他们的服务可供所有人使用(理论上)。据我了解,这些功能位于 lib/目录中,因为它们不是特定于应用程序的。理想情况下,您可以从项目中的 lib 中提取代码,并将其放入另一个项目中其他人的 lib/ 中,它仍然可以正常工作。

将调用放入lib/中。如果需要,您可以根据 Controller 中返回的数据创建模型。

它看起来像这样:

应用程序/ Controller /

class YourController < ApplicationController

def getDetails
# keep in mind, api call may fail so you may want surround this with a begin/rescue
api_response = YourApiCall.new.get_details(params[:id])
# perhaps create a model
@model = SomeModel.new(fname: api_response[:first_name], lname: api_response[:last_name])
# etc...
end
end

库/

require 'HTTParty'

Class YourApiCall
def get_details(id)
HTTParty.get(base_uri, :query => {:DID => id, :DeveloperKey => devKey})
@json_hash = api_response.parsed_response
return @json_hash
end
end

关于ruby-on-rails - ruby on Rails MVC 框架项目中的 API 调用在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205613/

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