###経緯
APIのURLが下記のようになっているのですが、配列として扱われエラーになってしまいます。
"localhost/rest/default/V1/products?searchCriteria[filter_groups][0][filters][0][field]=type_id&searchCriteria[filter_groups][0][filters][0][value]=configurable&searchCriteria[filter_groups][0][filters][0][condition_type]=eq"
エラー内容:No implicit conversion of String into Integer (TypeError)
Postmanというアプリで問題なくデータの取得を出来ます。
###試したこと
1) .to_sメソッドを使用して文字列に変換してみましたが挙動は変わりません。
- 下記のようにパラメータに載せる形に変更してみましたが、エラーになります。
{:params => {'searchCriteria[filter_groups][0][filters][0][field]' => 'type_id', 'searchCriteria[filter_groups][0][filters][0][value]' => 'configurable', 'searchCriteria[filter_groups][0][filters][0][condition_type]' => 'eq'}, :headers => {'Content-Type' => 'application/json'}}
###質問
書き方に誤りがあるのでしょうか?
アドバイスお願い致します。
###追記
Client_magento = OAuth2::Client.new(nil, nil, site: 'http://localhost') Access_token_magento = OAuth2::AccessToken.new Client_magento, 'digki8lgx3i79pbhpbafnq5mp5e4g3o0' 1) コード api_url = "rest/default/V1/products?searchCriteria[filter_groups][0][filters][0][field]=type_id&searchCriteria[filter_groups][0][filters][0][value]=configurable&searchCriteria[filter_groups][0][filters][0][condition_type]=eq" data = Access_token_magento.get(api_url) 1) 実行結果 # `[]': no implicit conversion of String into Integer (TypeError) 2) コード api_url = "rest/default/V1/products?searchCriteria[filter_groups][0][filters][0][field]=type_id&searchCriteria[filter_groups][0][filters][0][value]=configurable&searchCriteria[filter_groups][0][filters][0][condition_type]=eq" data = Access_token_magento.get(api_url, :header => {'Content-Type' => 'application/json'}) 2) 実行結果 # `[]': no implicit conversion of String into Integer (TypeError) 3) コード data = Access_token_magento.get("rest/default/V1/products", {:parameters => {'searchCriteria[filter_groups][0][filters][0][field]' => 'type_id', 'searchCriteria[filter_groups][0][filters][0][value]' => 'configurable', 'searchCriteria[filter_groups][0][filters][0][condition_type]' => 'eq' }}).parsed 3) 実行結果 # undefined method `bytesize' for 4) コード # data = Access_token_magento.get("rest/default/V1/products", {:parameters => {:fieldName => {:searchCriteria[filter_groups][0][filters][0][field] => 'type_id',:searchCriteria[filter_groups][0][filters][0][value] => 'configurable', :searchCriteria[filter_groups][0][filters][0][condition_type] => 'eq' }}}).parsed 4) 実行結果 {"message":"%fieldName is a required field.","parameters"{"fieldName":"searchCriteria"} 5) コード data = access_token_magento.get(api_url,{"fieldName":{"searchCriteria[filter_groups][0][filters][0][field]": "type_id", "searchCriteria[filter_groups][0][filters][0][value]": "configurable", "searchCriteria[filter_groups][0][filters][0][condition_type]": "eq" }}).parsed 5) エラー {"message":"%fieldName is a required field.","parameters":{"fieldName":"searchCriteria"},"
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/14 10:30
2018/11/14 11:02
2020/02/11 09:47