【发布时间】:2020-01-07 22:33:11
【问题描述】:
我尝试通过 Volley 发布 JSON 请求并收到错误 BasicNetwork.performRequest: Unexpected response code 500 这个API URL在POSTMAN中测试正常,可以被IOS版app调用。
我怀疑标题值没有添加到我的代码中(如果我错了,请纠正我)
我尝试在我的代码中添加getHeaders() 函数,但似乎无法正常工作。有人可以告诉我如何解决这个问题吗?
这是我当前的代码:-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.clipped_product_page)
setTitle("Clipped Product")
val actionbar = supportActionBar
actionbar?.setDisplayHomeAsUpEnabled(true)
actionbar?.setDisplayHomeAsUpEnabled(true)
val URL = "https://api.sample.com/Api/user_id"
val json = JSONObject()
json.put("user_id", "1")
json.put("code", "AB")
val jsonOblect = object : JsonObjectRequest(
Request.Method.POST,
URL,
json,
Response.Listener {response ->
// Get your json response and convert it to whatever you want.
Toast.makeText(this, "You Clicked: $response", Toast.LENGTH_SHORT).show()
},
Response.ErrorListener {
Toast.makeText(this, "Error $it .message", Toast.LENGTH_SHORT).show()
}
) {
@Throws(AuthFailureError::class)
override fun getHeaders(): Map<String, String> {
val headers = HashMap<String, String>()
headers.put("Content-Type", "application/json")
return headers
}
}
VolleySingleton.getInstance(this).addToRequestQueue(jsonOblect)
}
如何实现这一点并将我的输出转换为数组列表?
请帮忙谢谢。
【问题讨论】:
-
这可能对您有帮助 androidhive.info/2014/05 并且响应代码 500 是服务器错误响应代码表示服务器遇到了阻止其完成请求的意外情况
-
显示您如何尝试使用
getHeaders()。到目前为止,您的代码与标题无关。 -
@VladyslavMatviienko 很抱歉错过了。在我尝试了 Mahdi 解决方案后仍然无法正常工作。您可以检查上面编辑的示例代码。
-
好的,我现在明白了。您出于某种奇怪的原因将用户 ID 和代码放入 JSONObject 中,而不是像在邮递员中那样将它们作为 post 参数发送,为什么?
标签: android json post kotlin android-volley