ruby on rails - কিভাবে rspec অনুরোধ spec অনুরোধ হেডার সেট করতে?




ruby-on-rails json (7)

RSpec 3 দিয়ে আপনি নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারেন

get my_resource_path, params: {}, headers: { 'HTTP_ACCEPT' => "application/json" }

অফিসিয়াল রপিপি ডকুমেন্টেশন বর্ণনা করা হয়েছে (লিংক পয়েন্ট v3.7)

কন্ট্রোলার স্পিকারে, আমি এই ধরনের HTTP গ্রহণ হেডার সেট করতে পারি:

request.accept = "application/json"

কিন্তু অনুরোধ স্পষ্ট, "অনুরোধ" বস্তু নিল। তাই আমি এখানে কিভাবে এটা করতে পারি?

আমি জেসনকে HTTP গ্রহণ হেডার সেট করতে চাই কারণ তাই আমি এটা করতে পারি:

get '/my/path'

এটার পরিবর্তে

get '/my/path.json'

আপনার প্রশ্নটি ইতিমধ্যে উত্তর দেওয়া হয়েছে তবে যদি আপনি অন্য কোনও পদক্ষেপে কিছু পোস্ট করতে চান তবে আপনাকে এটি করতে হবে:

post :save, {format: :json, application: {param1: "test", param2: "test"}}

আমার জন্য এটি সহজ request.headers["My Header"] = "something" কাজ করছে request.headers["My Header"] = "something"


আমি আলাদাভাবে হেডার সেট আপ আছে

request.headers["Accept"] = "application/json"

Get / delete / .... এর মাধ্যমে পাঠানোর চেষ্টা করছে rails4 এ সম্পূর্ণ আবর্জনা এবং আমার মাথার ব্যথা সৃষ্টি করা কারণ এটি হ্যান্ডডার হিসাবে নয় বরং প্যারামিটার হিসাবে পাঠানো হয়।

{"Accept" => "application/json"}

আমি টেস্ট :: ইউনিট এই ব্যবহৃত:

@request.env['HTTP_ACCEPT'] = "*/*, application/youtube-client"
get :index

উভয় xhr: true এবং হেডার পাঠাতে, আমি যেমন করতে হবে:

my_headers = { "HTTP_ACCEPT": "application/json" }
get my_path, xhr: true, headers: my_headers

Rack::Test::Methods সহ rspec ব্যবহার করে

header 'X_YOUR_HEADER_VAR', 'val'
get '/path'

শিরোনাম var X-Your-Header-Var হিসাবে আসবে





rspec