2017-09-19 23 views
1

私のアプリにログイン画面があります。私は、入力フィールドから電話番号を取得し、ボレーのポストリクエストとしてバックエンドサーバーに送信したいと思います。バレーのAndroidでサーバにPOSTリクエストを送信する

"user": { 
    "phone": 909099999 
} 

私はこのコードのブロックを試してみました::バックエンドサーバは、このように構成されている

final String phone = login_phoneTET.getText().toString(); 

    Map<String, String> params = new HashMap<>(); 
    params.put("phone", phone); 

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, 
      Constants.TING_OTP_ENDPOINT, 
      new JSONObject(params), 
      new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 
      Log.d(TAG, "Success"); 
      } 
      }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
      Log.d(TAG, "Failed with an Error" + error.getMessage()); 
      error.printStackTrace(); 
      } 
      } 
     ) { 
      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
      HashMap<String, String> headers = new HashMap<>(); 
      headers.put("Content-Type", "application/json; charset=utf-8"); 
      return headers; 
      } 
     }; 

    jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(20000, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
    VolleySingleton.getVolleySingleton(this).addToRequestQueue(jsonObjectRequest); 

をしても、文字列の要求を使用してみました。私はlogcatでこのエラーを得続ける:

E/Volley: [22489] BasicNetwork.performRequest: Unexpected response code 500 for https://:):)/api/user/generateOTP 

アムは、私が正しく、この要求を行うか、またはそれを行うには良い方法はありますか?ありがとう。

答えて

2

これはサーバー側のエラーです。だから私はあなたのサーバーについて懸念する必要があると思います。

+0

[OK]を、おかげで。それは文字列にint型か、逆の型変換エラーですか? –

+0

そうでないかもしれません。実際にはコードを見ずに答えるのはかなり難しいです。ここに関連コードを投稿すると、簡単に答えることができます。 – Mafujul

0

https://jsonlint.com/を使用して、あなたのjson(送信したものと戻ったもの)を検証してください。その後、

"user": { 
"phone": 909099999} 

有効なJSONのではない、とあなたの誤差があります:

あなたが書いたJSON場合は、あなたが送信しているものです

Error: Parse error on line 1: 
"user": { "phone": 909099 
------^ 
Expecting 'EOF', '}', ',', ']', got ':' 
関連する問題