Android 如何向来自volley库的请求添加标头
我正在用kotlin开发一个android应用程序,在这条路上我想使用一个请求来响应restfull服务器。。。 现在看看我从服务器请求它的代码和它的true,但我不知道如何将header的参数添加到我的请求中Android 如何向来自volley库的请求添加标头,android,rest,android-studio,kotlin,android-volley,Android,Rest,Android Studio,Kotlin,Android Volley,我正在用kotlin开发一个android应用程序,在这条路上我想使用一个请求来响应restfull服务器。。。 现在看看我从服务器请求它的代码和它的true,但我不知道如何将header的参数添加到我的请求中 fun sendCode(){ val URL = "https://RestfulSms.com/api/MessageSend" val body : JSONObject = JSONObject() val header : JSONO
fun sendCode(){
val URL = "https://RestfulSms.com/api/MessageSend"
val body : JSONObject = JSONObject()
val header : JSONObject = JSONObject()
body.put("Messages",messageText )
body.put("MobileNumbers",PhoneNumber )
body.put("LineNumber","***********")
body.put("SendDateTime","")
body.put("CanContinueInCaseOfError","false")
val request :JsonObjectRequest = JsonObjectRequest(Request.Method.POST,
URL,
body,
Response.Listener<JSONObject> { response ->
Log.e(tag, response.toString())
},
Response.ErrorListener{ error ->
Log.e(tag, error.message )
})
//request.headers.put("Content-Type","application/json")
header.put("x-sms-ir-secure-token",tokenKey)
queue.getCache().clear();
queue.add(request)
}
fun sendCode(){
val URL=”https://RestfulSms.com/api/MessageSend"
val body:JSONObject=JSONObject()
val头:JSONObject=JSONObject()
body.put(“Messages”,messageText)
body.put(“手机号码”,电话号码)
body.put(“行号”、“行号”)
body.put(“SendDateTime”,即“”)
body.put(“CanContinueInCaseOfError”、“false”)
val请求:JsonObjectRequest=JsonObjectRequest(request.Method.POST,
网址,
身体,
Response.Listener{Response->
Log.e(标记,response.toString())
},
Response.ErrorListener{error->
Log.e(标记,error.message)
})
//request.headers.put(“内容类型”、“应用程序/json”)
header.put(“x-sms-ir-secure-token”,tokenKey)
queue.getCache().clear();
queue.add(请求)
}
在提出此类问题之前,请先搜索文档和其他帖子。Volley是一个标准库,提供了大量文档
查看此帖子
我发现了我的问题,解决方法如下 我只是用JsonObjectRequest替换对象,然后使用覆盖getHeaders函数
val request :JsonObjectRequest = object : JsonObjectRequest(Request.Method.POST,
URL,
body,
Response.Listener<JSONObject> { response ->
Log.e(tag, response.toString())
},
Response.ErrorListener{ error ->
Log.e(tag, error.message )
}) {
@Throws(AuthFailureError::class)
override fun getHeaders(): Map<String, String> {
val headers = HashMap<String, String>()
headers.put("Content-Type", "application/json");
headers["x-sms-ir-secure-token"] = tokenKey
return headers
}
val-request:JsonObjectRequest=object:JsonObjectRequest(request.Method.POST,
网址,
身体,
Response.Listener{Response->
Log.e(标记,response.toString())
},
Response.ErrorListener{error->
Log.e(标记,error.message)
}) {
@抛出(AuthFailureError::类)
覆盖有趣的getHeaders():映射{
val headers=HashMap()
headers.put(“内容类型”、“应用程序/json”);
标题[“x-sms-ir-secure-token”]=tokenKey
返回标题
}
这能回答你的问题吗?不,老兄……我有一个解决方案,用于设置标题的JsonObjectRequest。我之前搜索并查看了文档和其他帖子,但我与其他情况略有不同……其他人使用stringRequest,是的,你可以覆盖getHeaders函数并替换自定义标题,但我使用JsonObjectRequest用于获取我的信息,它没有任何getHeaders函数可以覆盖…@arashforus-我能理解使用JsonObjectRequest的必要性吗?如果服务器希望这样,我们可以在请求中应用相应的内容类型,而不是这样做吗?