Android Kotlin – Volley意外的响应代码400

我使用Django制作了REST API,现在我想将它连接到android。 我正在使用Kotlin和Volley库。 我创建的代码,我仍然得到这个错误:

E / Volley:BasicNetwork.performRequest:用于http://laude.ct8.pl/api/user/login/的意外响应代码400。

这是我的Kotlin代码:

val jsonObj = JSONObject() val LOGIN_API_URL = "http://laude.ct8.pl/api/user/login/" loginBtn.setOnClickListener { jsonObj.put("username", username.text) jsonObj.put("password", passwd.text) val que = Volley.newRequestQueue(this@MainActivity) val req = JsonObjectRequest(Request.Method.POST, LOGIN_API_URL, Response.Listener { response -> Toast.makeText(this@MainActivity, response.toString(), Toast.LENGTH_LONG).show() }, Response.ErrorListener { error -> Toast.makeText(this@MainActivity, error.toString(), Toast.LENGTH_LONG).show() }) que.add(req) } 

我用Content-Type看到了这个问题,所以我尝试了这一行,并将其添加到jsonObj.put("password", passwd.text)

这里是这一行: jsonObj.put("Content-Type", "application/json")

这里有一些测试登录数据:

用户名:testUser1232

密码:test123123

非常感谢您的帮助!

当你创建JsonObjectRequest时,你不会把jsonObj传递给它。

尝试:

 val req = JsonObjectRequest(Request.Method.POST, LOGIN_API_URL, jsonObj, Response.Listener { response -> Toast.makeText(this@MainActivity, response.toString(), Toast.LENGTH_LONG).show() }, Response.ErrorListener { error -> Toast.makeText(this@MainActivity, error.toString(), Toast.LENGTH_LONG).show() })