2017-09-14 93 views
0

Ruby的Net::HTTP::Post似乎覆蓋自定義Content-Type標題。當我設置頁眉'Content-Type':'application/json'我收到以下錯誤從服務器:Ruby Net :: HTTP :: Post覆蓋自定義內容類型標題

HTTP Status 400 - Bad Content-Type header value: 'application/json, application/x-www-form-urlencoded' 

通知application/x-www-form-urlencoded這是爲什麼?有沒有辦法刪除它?

我的代碼:

def post(uri, params) 
    req = Net::HTTP::Post.new(uri.path, 'Content-Type':'application/json') 
    req.form_data = params 
    Net::HTTP.start(uri.hostname, uri.port) {|http| 
    http.request(req) 
    } 
end 

有趣的是,下面的代碼使用Net::HTTP作品,這需要不同的方法:

def post(uri, params) 
    headers = {'Content-Type' =>'application/json'} 
    request = Net::HTTP.new(uri.host, uri.port) 
    request.post(uri.path, params.to_json, headers) 
end 

回答