我对Insomnia有以下要求:
哪个工作正常!
但是,如果我尝试在Android上使用volley执行此操作,我会收到“ServerError”:
fun createRequest() {
val params = JSONObject()
params.put("device_key", Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID))
params.put("edition_date", "2018-02-12 00:00:00")
params.put("publication", 1)
val headers = hashMapOf<String, String>()
headers["Authorization"] = "My Token"
headers["Content-Type"] = "application/x-www-form-urlencoded"
getPDF(this, params, headers)
}
fun getPDF(activity: Activity, params: JSONObject, headers: HashMap<String, String>) {
val request = object : JsonObjectRequest(Request.Method.POST, "My URL", params,
Response.Listener {
print("asd")
},
Response.ErrorListener {
it.printStackTrace()
}
) {
override fun getHeaders(): Map<String, String> { return headers } }
request.retryPolicy = DefaultRetryPolicy(0, DEFAULT_MAX_RETRIES, DEFAULT_BACKOFF_MULT)
Volley.newRequestQueue(activity).add(request)
}
我只得到一个带有代码500的“ServerError”。 我在Android中可能做错了什么?我没有正确设置标题吗?或者可能是参数?
答案 0 :(得分:1)
在Insomnia中,您正在发出请求,而正文是表单,而在Android中,您正在尝试发送JSON。确保您的正文包含键值对而不是JSON对象。