0

장고를 사용하여 REST API를 만들었으므로 이제 Android에 연결하고 싶습니다. 나는 Kotlin and Volley 라이브러리를 사용하고 있습니다. 나는 코드를 생성하고 난 여전히이 오류 받고 있어요 :Android Kotlin - Volley 예기치 않은 응답 코드 400

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

여기

내 코 틀린 코드 : 그 문제가 Content-Type와 가공에 의하여 수 보았다, 그래서이 줄을 시도

 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) 

     } 

, 내가 추가를 그것 아래에 jsonObj.put("password", passwd.text).

여기에이 라인이 있습니다 : jsonObj.put("Content-Type", "application/json").

username: testUser1232

password: test123123

덕분에 도움을 많이 :

그리고 여기에 몇 가지 테스트 로그인 데이터입니다!

+0

당신이 헤더에 콘텐츠 형식을 추가하려고입니까? – 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

고맙습니다. 완벽하게 작동합니다. –