2017-06-12 46 views
0

我想通過使用Restclient寶石的特定URI傳遞POST方法請求。但是,我不斷從服務器獲取400 Bad request。我嘗試了多種方式發佈數據,並進行了修改。 PFB目前的一個HTTPS:400錯誤的請求!無效的JSON

require 'minitest' 
require 'rest-client' 
require 'json' 
require 'pry' 
require 'uri/https' 


#class APITest < Minitest::Test 
def setup 
    response = RestClient.post("", {'userType' => 'nonsso', 'firstName' => 'Justin9', 'isDependentMajor' => true, 'email' => '[email protected]', 'dependentName'=> 'Cobb', 'dependentLastName' => 'Cobb', 'lastName' => 'Justin' 
    }, { "Content-Type" => 'application/json'}) 
    puts response 
end 



setup 

我不知道我在這裏錯過了什麼。我試着用get方法使用相同的代碼,用於其他api,只用headers,它工作。

請有人讓我知道,在我用於POST方法的json中有任何不好的語法。

回答

3
response = RestClient.post("", {'userType' => 'nonsso', 'firstName' => 'Justin9', 'isDependentMajor' => true, 'email' => '[email protected]', 'dependentName'=> 'Cobb', 'dependentLastName' => 'Cobb', 'lastName' => 'Justin' 
    }.to_json, { "Content-Type" => 'application/json'}) 

注意to_json

RestClient默認情況下序列化application/x-www-form-urlencoded中的有效載荷。您必須手動序列化您的發佈數據。

+0

我以前嘗試過添加'to_json',但它沒有奏效。仍然不好的請求和無效的JSON :( –

+0

與你目前的代碼也是,我收到了同樣的東西。我試圖重新檢查與帖子的人工具和相同的網址與參數在那裏工作 –

+0

工程!我想,我留下的空間數據在這裏,我嘗試刪除這些空間,現在它似乎工作:) –