Android Kotlin Compose中使用Volley发送带参数POST请求求助
在Android Kotlin Compose中为Volley POST请求添加参数
要给Volley的POST请求添加email和token参数,你需要重写StringRequest的getParams()方法,通过这个方法返回包含参数的键值对集合。以下是修改后的完整代码:
fun PostVolleyRequest( context: Context, result: MutableState<String> ) { val queue = Volley.newRequestQueue(context) val email = "mail@gmail.com" val token = "your_token_value" // 替换为实际的token值 val url = "http://127.0.0.1:8000/logged/accedi" val stringRequest = object : StringRequest( Method.POST, url, { response -> result.value = response }, { println("请求失败:${it.message}") } ) { @Throws(AuthFailureError::class) override fun getParams(): Map<String, String> { // 返回需要传递的POST参数 return mapOf( "email" to email, "token" to token ) } } queue.add(stringRequest) }
关键说明:
- 将
StringRequest改为匿名内部类,以此重写getParams()方法来传递参数 getParams()方法需抛出AuthFailureError异常,这是Volley的强制要求- 方法内返回的
Map中,键对应接口要求的参数名(email和token),值为对应的参数内容 - 如果接口要求接收JSON格式的请求体而非表单参数,建议改用
JsonObjectRequest并构造JSON请求体,当前写法更适配表单格式的参数传递场景
内容的提问来源于stack exchange,提问作者Giuseppe Bettiol
相关产品推荐
相关产品推荐

