Bagaimana cara mengatur tajuk khusus untuk permintaan Volley? Saat ini, ada cara untuk menyetel konten tubuh untuk permintaan POST. Saya memiliki permintaan GET sederhana, tetapi saya harus meneruskan header khusus. Saya tidak melihat bagaimana kelas JsonRequest mendukungnya. Apakah mungkin sama sekali?
android
android-volley
bianca
sumber
sumber
Jawaban:
Sepertinya Anda mengganti
public Map<String, String> getHeaders()
, didefinisikan dalamRequest
, untuk mengembalikan header HTTP yang Anda inginkan.sumber
GsonRequest
overrides methodgetHeaders()
untuk mengembalikan Map dengan parameter header yang Anda berikan di konstruktor.Jawaban yang diterima dengan getParams () adalah untuk menyetel data tubuh POST, tetapi pertanyaan dalam judul menanyakan cara menyetel header HTTP seperti User-Agent. Seperti yang dikatakan CommonsWare, Anda mengganti getHeaders (). Berikut beberapa contoh kode yang menetapkan User-Agent menjadi 'Nintendo Gameboy' dan Accept-Language menjadi 'fr':
sumber
Jika yang Anda butuhkan adalah memposting data daripada menambahkan info di url.
Jika yang ingin Anda lakukan adalah mengedit header dalam permintaan, inilah yang ingin Anda lakukan:
sumber
getHeaders
jawaban mereka .Anda dapat melihat solusi ini . Ini menunjukkan bagaimana mendapatkan / mengatur cookie, tetapi cookie hanyalah salah satu header dalam permintaan / tanggapan. Anda harus mengganti salah satu kelas Permintaan * Volley dan mengatur header yang diperlukan
getHeaders()
Berikut adalah sumber yang ditautkan:
}
Dan kelas MyApp:
sumber
Di Kotlin,
Anda harus mengganti metode getHeaders () seperti:
sumber
Mencari solusi untuk masalah ini juga. lihat sesuatu di sini: http://developer.android.com/training/volley/request.html
apakah ide yang bagus untuk langsung menggunakan ImageRequest daripada ImageLoader? Tampaknya ImageLoader menggunakannya secara internal. Apakah itu melewatkan sesuatu yang penting selain dukungan cache ImageLoader?
sumber
coba ini
sumber
Anda bisa membuat kelas Permintaan khusus yang memperluas StringRequest dan mengganti metode getHeaders () di dalamnya seperti ini:
sumber
sumber
Sebagai tambahan, saya ingin membagikan sesuatu yang saya temukan mengenai
Content-Type
: Di atasSaya harus menambahkan:
Jangan tanya saya mengapa, saya hanya berpikir itu mungkin membantu beberapa orang lain yang tidak bisa mendapatkan
Content-Type
set yang benar.sumber
Berikut adalah pengaturan header dari sampel github:
sumber
coba ini
sumber
Itu adalah kode saya, jangan lupa = objek: jika tidak dimasukkan tidak berfungsi
sumber