2014-07-10 35 views
0

我正在使用twitter gem for ruby​​,並且需要向用戶/查找端點發送POST請求。 作爲每寶石源代碼文件(https://github.com/sferik/twitter/blob/4e8c6dce258073c4ba64f7abdcf604570043af71/lib/twitter/rest/users.rb),該請求應當是POST默認,除非我通過:得到:驗證請求是否爲GET/POST

@option選項[符號,字符串]:方法通過GET請求,而不是請求的用戶標準的POST請求如果設置爲':get'。

def users(*args) 
    arguments = Twitter::Arguments.new(args) 
    request_method = arguments.options.delete(:method) || :post 
    flat_pmap(arguments.each_slice(MAX_USERS_PER_REQUEST)) do |users| 
     perform_with_objects(request_method, '/1.1/users/lookup.json', merge_users(arguments.options, users), Twitter::User) 
    end 
    end 

我打電話,如下所示:

users = @client.users(twitter_screen_names_arr, [:method, :post]) 

不過,我不知道這實際上是導致POST請求/ GET請求。 如何確定這是POST/GET?我想打印正在發送的請求,以清楚發送實際內容。

謝謝!

+0

'request.post?'或'request.get?'可用於測試'request'是否爲POST或GET請求。或者你可以使用'request.method'來獲取請求的類型。 –

回答

1

正如你可以從code看到的,它默認使用POST。此行爲也是帶有RSpec的specified

您可以調用用戶的方法是這樣的:

@client.users(twitter_screen_names_arr, :method => :post)

或者乾脆

@client.users(twitter_screen_names_arr)

因爲POST是默認的請求方法。

如果您不信任代碼或規格,則可以通過代理運行請求以手動驗證此行爲。

+0

謝謝你的回覆sferik。我確實相信這些代碼,但我不確定我是否正確地調用它。另外,我更加想知道請求是什麼樣的。 –