HTTParty如何为所有请求设置全局默认请求头
jnunemaker/httparty 全局默认请求头配置方案
完全可以实现和示例一致的全局默认请求头效果,根据使用场景选对应配置方式即可:
- 全局生效:所有直接调用
HTTParty.get/HTTParty.post等原生方法发起的请求,都会自动携带配置的默认头
直接修改HTTParty模块的默认配置项即可:HTTParty.default_options[:headers] = { "my-header": "a-value", # 可按需追加通用头,比如自定义UA、全局鉴权token等 "User-Agent": "MyApp/2.1" } - 自定义客户端类生效:仅你自己封装的API客户端类发起的请求携带默认头,不影响其他位置的HTTParty调用
如果你是通过include HTTParty封装专属业务客户端,直接在类内用headers方法声明类级别默认头即可:class BusinessApiClient include HTTParty base_uri "https://api.your-service.com" # 当前类下所有请求自动携带这些头 headers "my-header" => "a-value", "Authorization" => "Bearer your-global-token" end
配置优先级规则:单次请求手动传入的headers优先级最高,会覆盖全局/类级别的同名头;类级别配置优先级高于全局模块配置,不同类的配置互相独立不冲突。
内容的提问来源于stack exchange,提问作者Daniel Gomez Rico
相关产品推荐
相关产品推荐

