URLの例を打つ= http://webapi.example.com/api/order?data= {...リスト[{...}、{...}]}上記のコードの場合APIのURLボレーで作業し、ブラウザのURLで動作していないが
GsonRequest request = new GsonRequest<OrderResponse>("URL example", null,
OrderResponse.class, null, new Response.Listener<OrderResponse>() {
@Override
public void onResponse(OrderResponse response) {
if (response.isSuccess()) {
//sendNotification();
} else {
Toast.makeText(DeliveryManagementActivity.this, "Error in Server", Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e("Error: " + error.getMessage());
}
});
I 400エラーが発生しています。
GsonRequest request = new GsonRequest<OrderResponse>(UrlConstants.SEND_ORDERS_URL, getParams(),
OrderResponse.class, header, new Response.Listener<OrderResponse>() {
@Override
public void onResponse(OrderResponse response) {
if (response.isSuccess()) {
sendNotification();
} else {
Toast.makeText(DeliveryManagementActivity.this, "Error in Server", Toast.LENGTH_SHORT).show();
}
hideLoader();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
VolleyLog.e("Error: " + error.getMessage());
Toast.makeText(DeliveryManagementActivity.this, "Error " + error.getMessage(), Toast.LENGTH_SHORT).show();
hideLoader();
}
});
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
return headers;
}
private Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("orderData", requestData.getOrderRequest(requestData));
return params;
}
上記の場合、私は常にサーバーから間違った応答を得ています。 1回目のリクエストメソッドからのリクエストをコピーし、ブラウザのURLを使用してAPIにヒットしました。それはうまくいった。
編集は:
第二の方法に変更した後、要求は以下のように起こっています。
url = www.url.com/addOrder.php?
params = {"orderData": "{\" deliveryTime \ ":\" 2017-12-10 01:13:00 \ "、\" orderDetail \ ":\" courseId \ ": \ "1 \"、\ "1 \"、\ "1 \"、\ "2 \"、\ "offer_id \":\ " :\ "7 \"、\ "userLocation \" \ "17 \"} "}
orderDataもJSON内部解析および=を欠落
。それが問題ですか?質問の先頭にあるURLは実際のもので、動作しています。
はい。それはorderData –
です。エラーメッセージを投稿できる場合は、この問題をデバッグすると便利です。もう1つの質問は、コードスニペットが両方とも400をスローしますか? – Deepak
ボレーからのエラーはありません。 APIからのエラー応答。 –