2017-11-10 14 views
0

Djangoを使用してREST APIを作ったので、アンドロイドに接続したいと思っています。私はKotlinとVolleyのライブラリを使用しています。私は、コードを作成し、私はまだ、このエラーを取得しています:ここでAndroid Kotlin - Volley予期しない応答コード400

E/Volley: [287] BasicNetwork.performRequest: Unexpected response code 400 for http://laude.ct8.pl/api/user/login/ .

は私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([email protected]) 
      val req = JsonObjectRequest(Request.Method.POST, LOGIN_API_URL, 
        Response.Listener { 
         response -> 
         Toast.makeText([email protected], response.toString(), Toast.LENGTH_LONG).show() 
        }, 
        Response.ErrorListener { 
         error -> 
         Toast.makeText([email protected], error.toString(), Toast.LENGTH_LONG).show() 
        }) 

      que.add(req) 

     } 

私はその問題がContent-Typeとによってかもしれない見たので、私はこの行を試みたが、私が追加しましたそれはjsonObj.put("password", passwd.text)の下にあります。

この行は次のとおりです。 jsonObj.put("Content-Type", "application/json")

username: testUser1232

password: test123123

おかげで助けのためにたくさん:

そしてここではいくつかのテストログインデータであります!

+0

はあなたがヘッダにContent-Typeのを追加しようとしていますか? – tebitoq

+0

あなたはトークンを送信していますか? –

+0

@vikaskumar私はAPI内にトークンを使用していません –

答えて

1

JsonObjectRequestを作成するときには、jsonObjを渡さないでください。

試してみてください。

val req = JsonObjectRequest(Request.Method.POST, LOGIN_API_URL, jsonObj, 
        Response.Listener { 
         response -> 
         Toast.makeText([email protected], response.toString(), Toast.LENGTH_LONG).show() 
        }, 
        Response.ErrorListener { 
         error -> 
         Toast.makeText([email protected], error.toString(), Toast.LENGTH_LONG).show() 
        }) 
+0

どうすればユーザー名とパスワードを入力できますか? –

+0

私の答えをチェックしてください。ちょうど例でそれを編集しました。あなたがそれを理解し、それがうまくいくかどうかを見てください。 – xRed

+0

ありがとうございます。それは完璧に働いています。 –

関連する問題