gpt4 book ai didi

ruby - 法拉第 JSON 后 'undefined method bytesize' 有 body

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

我正在尝试将一些代码从 HTTPParty 转换为 Faraday。以前我用的是:

HTTParty.post("http://localhost/widgets.json", body: { name: "Widget" })

新的片段是:

faraday = Faraday.new(url: "http://localhost") do |config|
config.adapter Faraday.default_adapter

config.request :json
config.response :json
end
faraday.post("/widgets.json", { name: "Widget" })

结果是:NoMethodError: undefined method 'bytesize' for {}:Hash。是否可以让 Faraday 自动将我的请求主体序列化为字符串?

最佳答案

中间件列表要求按特定顺序构建/堆叠,否则您会遇到此错误。第一个中间件被认为是最外面的,它包裹了所有其他中间件,因此适配器应该是最里面的(或最后一个):

Faraday.new(url: "http://localhost") do |config|
config.request :json
config.response :json
config.adapter Faraday.default_adapter
end

参见 Advanced middleware usage了解更多信息。

关于ruby - 法拉第 JSON 后 'undefined method bytesize' 有 body ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29440768/

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