2015-02-12 3 views
0

Я новичок в Ruby и с использованием HTTParty, и пытался следовать примерам HTTParty из их github page, чтобы выполнить базовый POST. Когда я запускаю этот код я получаю сообщение об ошибке:Ruby: Как получить доступ к api с помощью HTTParty

require 'pp' 
require 'HTTParty' 
require 'pry' 

class Partay 
    include HTTParty 
    base_uri "http://<myapidomain>/search/semanticsearch/query/" 
end 

options= { 
    query: { 
     version: "0.4", 
     query: "lawyer" 
    }} 

response = Partay.post(options) 

puts response 

Я получаю ошибку является:

rbenv/versions/2.2.0/lib/ruby/2.2.0/uri/common.rb:715:in `URI': bad argument (expected URI object or URI string) (ArgumentError) 
from ~/.ruby/2.2.0/gems/httparty-0.13.3/lib/httparty/request.rb:47:in `path=' 
from ~/.ruby/2.2.0/gems/httparty-0.13.3/lib/httparty/request.rb:34:in `initialize' 
from ~/.ruby/2.2.0/gems/httparty-0.13.3/lib/HTTParty.rb:539:in `new' 
from ~/.ruby/2.2.0/gems/httparty-0.13.3/lib/HTTParty.rb:539:in `perform_request' 
from ~/.ruby/2.2.0/gems/httparty-0.13.3/lib/HTTParty.rb:491:in `post' 
from json-to-csv.rb:16:in `<main>' 

Я ищу зовёт пост, который принимает JSON таким же образом, что, называя это URL работы:

http://somedomain.com/search/semanticsearch/query/?version=0.4&query=lawyer 
+0

Рассмотрите возможность использования Unirest, его гораздо проще и очень читабельны. www.unirest.io –

+0

Спасибо, это действительно полезно! – dmbennett

ответ

0

принимая решение с предложенной жемчужину - unirest:

require 'unirest' 

url = "http://somedomain.com/search/semanticsearch/query" 
response = Unirest.post url, 
         headers:{ "Accept" => "application/json" }, 
         parameters:{ :version => 0.4, :query => "lawyer" } 
Смежные вопросы