【发布时间】:2021-08-20 07:02:06
【问题描述】:
有下一个问题:
我收到一些带有正文的帖子查询(在 http://api1.com/products 上)并验证它:
products = JSON.parse(request.body.read)
JSON::Validator.validate!(products_schema, products)
如果验证了正文数据,我会尝试使用 Faraday 将其重新发送到另一个 api (http://api2.com/products):
f_headers = { ... }
conn = Faraday.new(headers: f_headers) do |f|
f.request :url_encoded
f.response :logger
f.adapter Faraday.default_adapter
end
resp = conn.post('http://api2.com/products') do |req|
req.body = request.body.read
end
resp.body
但如果我尝试在 POST http://api2.com/products 上获取正文,我会在参数中获取正文数据:
[127.0.0.1] [2021-08-20 09:37:08 +0300]
Parameters: {"\n \"746227ea-5232-11e1-8704-00155d01cd01\",\n \"d72144ec-8b03-11e1-8b38-00155d01cd01\"\n"=>nil, "url_param"=>"9948f4a4-47c2-11e1-b0a6-00155d01cd01"}
如果我尝试,正文是空的: JSON.parse(request.body.read) 我明白了:
809: unexpected token at ''
如何正确地憎恨身体?
【问题讨论】:
标签: ruby-on-rails faraday