ruby-on-rails - 设置 API 连接响应超时
问题描述
Rails 控制器操作有一个条件,当满足时,连接到 API
Class GuestController
if @book.quantity - @book.guests.count == 0
call_book_api
现在这个特定的调用应该有一个不同于其他调用的响应时间。需要针对call_book_api
某些数据(无论是正面还是负面)的方法响应设置超时。
@result = HTTParty.post(
'https://test.co.uk/interface/Book',
:body => JSON.parse(@book).to_json,
headers: {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Host' => 'test.co.uk',
'Connection' => 'Keep-Alive'
}
)
如何在行动层面有效地定义这一点?
解决方案
根据帖子中提到的描述,您希望在使用 httparty gem 调用第三方 API 时设置超时。
如果是获取请求,请使用下面提到的代码
response = HTTParty.get('YOUR_URL', timeout: 10)
如果它是 post 类型的请求,则使用下面提到的代码:
response = HTTParty.post('YOUR_URL', body: params, timeout: 10)
推荐阅读
- mysql - SQL 为产品变体添加附加 ID
- scala - 如何在测试期间向 ZIO 提供自定义标头
- python - Tkinter Python PhotoImage 在按钮上显示为小方块,看不到
- php - Wordpress 自定义插件:在样板模板中添加子菜单会中断/更改主页链接,并且不显示页面
- salesforce - 基于关系的记录查询
- javascript - 我想使用 React 在 Sun 编辑器中添加 3 个按钮
- python - 如何修复 - TabError:缩进中制表符和空格的使用不一致
- python - 在 Python 中执行打印列表语句后遇到错误
- html - textarea 中的文本超出 div
- python - 为 Rhino 中的 .xyz-import 设置选项,仅在 \\ 时加载脚本和路径