Как исправить ошибку 500 Bad Request?[Java, Android] - PullRequest
0 голосов
/ 01 декабря 2018

Я хочу преобразовать код Swift в код Java для приложения Android.Я пытался использовать «HttpsURLConnection», но он не работает.

Я не уверен, должен ли я использовать «метод HttpsURLConnection» или мне следует использовать другой метод.

HttpsURLConnection не удалось.

responseCode: 500 (HttpsURLConnection.getResponseCode())
message2: Bad Request (HttpsURLConnection.getResponseMessage())

Как мне исправить ошибку 500 Bad Request?

        URL url = new URL("https://***test.herokuapp.com/payment.php");
        HashMap<String, Object> params = new HashMap<>();
        params.put("stripeToken", token);
        params.put("amount", 1500);
        params.put("currency", "jpy");
        params.put("description", "anyone");

        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
        conn.setRequestMethod("POST");

        int responseCode = conn.getResponseCode(); // responseCode: 500

        if (responseCode == HttpsURLConnection.HTTP_OK) {
            Log.d("Success", String.valueOf(responseCode));
        } else {
            String code = String.valueOf(responseCode);
            String message2 = conn.getResponseMessage(); // message2: Bad Request

        }

в Swift (работает)

let url = "https://***test.herokuapp.com/payment.php"
    let params: [String : Any] = [
        "stripeToken" : token,
        "amount" : totalAmount,
        "currency" : "jpy",
        "description" : "anyone",

    ]

    let manager = AFHTTPSessionManager().post(url, parameters: params, success: { (operation, responseObject) in
        if let response = responseObject as? [String: String] {
            print(response["status"]! + "________" + response["message"]!)
            ProgressHUD.showSuccess("payment success!!")
        }

    }) { (operation, error) in
        if error != nil {
            print("errorMessage \(error.localizedDescription)")
            ProgressHUD.showError(error.localizedDescription)
            return;
        }
    }

1 Ответ

0 голосов
/ 01 декабря 2018

Спасибо за совет.Я использую "залп", и это сработало.

    final String urlStr = "https://****.php";
    StringRequest stringRequest = new StringRequest(Request.Method.POST, urlStr,

            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Toast.makeText(StripeActivity.this,"SuccessToken",Toast.LENGTH_LONG).show();
                }
            },

            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.d("VolleyErrorHere", error.toString());
                }
            }
    ){

        @Override
        protected Map<String, String> getParams() throws AuthFailureError {

            Map<String, String> params = new HashMap<>();

            params.put("stripeToken", token.getId());
            params.put("amount", "120");
            params.put("currency", "jpy");
            params.put("description", "anyone");

            return params;
        }
    }; // end of string Request
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...