J'essaie d'utiliser RESTClient pour parler à une API et je reçois cette erreur et backtrace:NoMethodError essayant d'utiliser Ruby RESTClient
>> RestClient.post "http://localhost:8081/accounts", {}.to_json, content_type: :json, accept: :json
NoMethodError: undefined method `[]' for #<Set: {#<MIME::Type: application/json>}>
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:307:in `type_for_extension'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:312:in `type_for_extension'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:278:in `block in stringify_headers'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `each'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `inject'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `stringify_headers'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:92:in `make_headers'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:58:in `initialize'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `new'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
from /Users/pupeno/.rvm/gems/[email protected]/gems/rest-client-1.6.7/lib/restclient.rb:72:in `post'
from (irb):5
from /Users/pupeno/.rvm/gems/[email protected]/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
from /Users/pupeno/.rvm/gems/[email protected]/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
from /Users/pupeno/.rvm/gems/[email protected]/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
from /Users/pupeno/.rvm/gems/[email protected]/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /Users/pupeno/.rvm/gems/[email protected]/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
from /Users/pupeno/Documents/qredo/console/bin/rails:9:in `require'
from /Users/pupeno/Documents/qredo/console/bin/rails:9:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
Toutes les idées ce qui ne va pas ici? Autant que je peux voir, la demande ne pourrait même pas être au serveur, mais ma ligne suit the RestClient documentation.
Je viens d'ajouter cette gemme à l'un de mes projets. Pouvez-vous montrer votre code et confirmer que l'API renvoie quelque chose? – margo
Je pense que le problème avec hash vide {} .to_json essaie de lui passer une valeur comme {'x' => 1} .to_json. Juste une supposition. –
Êtes-vous capable de mettre à jour vers une version ultérieure de la gemme RestClient? –