【发布时间】:2020-03-24 19:51:17
【问题描述】:
我正在尝试通过在提交注册详细信息后发送到他们电子邮件的验证码来验证用户身份。
我有以下代码来收听通过电子邮件收到的代码/pin,但我不确定我是否以正确的方式添加标头/承载令牌,因为我在验证时收到服务器错误。
请帮忙
var codeEntered:String? = null
txt_pin_entry.setOnPinEnteredListener {
codeEntered = "$it"
Toast.makeText(context!!.applicationContext, "inside $codeEntered", Toast.LENGTH_SHORT).show()
}
submitBtn.setOnClickListener {
val url = "https://fathomless-badlands-69782.herokuapp.com/api/auth/verify"
val params = HashMap<String, String?>()
params["Authorization"] = "Bearer $tokenCode"
params["code"] = codeEntered
Toast.makeText(context!!.applicationContext, "outside $codeEntered", Toast.LENGTH_SHORT).show()
val jsonObject = JSONObject(params as Map<*, *>)
val request = JsonObjectRequest(Request.Method.PUT, url, jsonObject,
Response.Listener { response ->
try{
Log.i("Registration", "Response $response")
}catch (e: Exception){
Log.e("Registration", "Response $e")
Toast.makeText(context!!.applicationContext, "Response $response", Toast.LENGTH_SHORT).show()
}
}, Response.ErrorListener {
Log.e("Registration", "Response $it")
Toast.makeText(context!!.applicationContext, "Response $it", Toast.LENGTH_SHORT).show()
})
VolleySingleton.getInstance(context!!.applicationContext).addToRequestQueue(request)
val actionToVerificationResult = CodeVerificationFragmentDirections.actionToVerificationResult()
Navigation.findNavController(it).navigate(actionToVerificationResult)
}
}
API 需要如下请求
{
code: String
}
【问题讨论】:
-
问题是,为什么要使用 Volley,什么时候可以使用 Retrofit?
标签: java android android-fragments kotlin android-volley