如何在这种类型的API中将对象设置为VolleyRequest(POST Request)?

时间:2019-03-10 12:58:47

标签: android android-volley

I tried to set Request in this way

我有一个API链接可发送用于创建订单的过帐请求,  我试图以这种方式设置请求。 我想发送与发送图像请求相同的POST请求(邮递员)。 我想使用cartID和购物车索引从购物车创建订单,如何发送请帮助我。 谢谢:

public void postCreateOrderByCustomer(ArrayList<CartItem> cartItems) {
    String token = sharedPreferences.getString(Constant.token, null);
    String endPoint = "https://prettyyou.in/cake/pos/api/customers/create-order?token=" + token;
    JSONObject jsonObject = new JSONObject();
    JSONArray jsonArray = new JSONArray();
    Map<String, String> payloadParams = new HashMap<String, String>();

    for (int i = 0; i < cartItems.size(); i++) {
        payloadParams.put("cart[" + i
                + "][id]", cartItems.get(i).getId());

    }
    Log.d(TAG, "postCreateOrderByCustomer: " + jsonObject);


    System.out.println("endPointCartGet" + " " + endPoint.toString());

    jsonObject = new JSONObject(payloadParams);
    Log.d(TAG, "postCreateOrderByCustomer: " + jsonObject);

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, endPoint, jsonObject, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                Log.d(TAG, "onResponseCustomer: " + response);
                if (response.getBoolean("status")) {
                    Constant.orderId = response.getString("order_id");

                    Intent intent = new Intent(DeliveryDetailsActivity.this, PaymentDetailsActivity.class);
                    startActivity(intent);
                }
            } catch (JSONException e) {
                e.printStackTrace();

            }


        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {


            Log.d(TAG, "onErrorResponse: " + error.toString());

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

            return payloadParams;
        }

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {

            return super.getHeaders();
        }
    };
    RequestQueue queue = Volley.newRequestQueue(DeliveryDetailsActivity.this);
    queue.add(jsonObjectRequest);




}

1 个答案:

答案 0 :(得分:0)

您还可以使用Stringrequest和对象请求或Jsonobject请求