Запрос Post, который я отправляю, никак не отвечает.
У меня есть этот API входа, Запрос Post, в котором параметры задаются в теле в виде строки, а параметр заголовка - {"content-type":" application / json "}.Я протестировал API с помощью Post man, и это сработало. Почтовый запрос
Ниже приведен мой код для отправки запроса:
private void SignIn () {
String url = WebConfiguration.getServer() + WebServiceParams.LOG_IN;
Map<String, String> params = WebServiceParams.getLogInParams(mEmail, mPassword);
JSONObject jsonParams = new JSONObject( params);
// json request
DataLoader.loadJsonDataPostWithProgress3(this, url,
new SignInRequestHandler(), mProgress, jsonParams , Request.Priority.HIGH, TAG);
}
//
public static void loadJsonDataPostWithProgress3(final Activity activity, String url, final OnJsonDataLoadedListener listener,
final ProgressDialog progress, final JSONObject params,
final Request.Priority priority, String tag) {
Utils.showProgress(progress);
JsonObjectRequest jsonObjReq = new JsonObjectRequest(url, params,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
JSONObject jsonResponse = null;
try{
jsonResponse = (JSONObject)response;
}catch(Exception ex){
ex.printStackTrace();
}
Utils.dismissProgress(progress);
if (listener != null) {
LogInResponse webServiceLoginResponse = JsonParser.json2WebServiceLogInResponse(jsonResponse);
if (webServiceLoginResponse != null) {
if (webServiceLoginResponse.getMsg() == "error") {
listener.onJsonDataLoadedWithError(MyApplication.ERROR_CODE, webServiceLoginResponse.getDetails());
} else if (webServiceLoginResponse.getMsg() == "ok") {
listener.onJsonDataLoadedSuccessfully(webServiceLoginResponse.getUserData());
}
} else {
Utils.showDialog(activity, R.string.error_parse);
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Utils.dismissProgress(progress);
if (listener != null) {
int errorId = R.string.error_connection;
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
errorId = R.string.error_connection;
} else if (error instanceof AuthFailureError) {
errorId = R.string.error_connection;
} else if (error instanceof ServerError) {
errorId = R.string.error_server;
} else if (error instanceof NetworkError) {
errorId = R.string.error_connection;
} else if (error instanceof ParseError) {
errorId = R.string.error_parse;
}
listener.onJsonDataLoadingFailure(errorId);
}
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("Content-Type", "application/json");
return params;
}
};
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(
TIMEOUT_MS,
NUM_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
VolleySingleton.getInstance().addToRequestQueue(jsonObjReq, tag);
}
//// закрытый класс SignInRequestHandler реализует DataLoader.OnJsonDataLoadedListener {
@Override
public void onJsonDataLoadedSuccessfully(JSONObject userData) {
onLoginSucceeded(JsonParser.json2UserData(userData));
}
@Override
public void onJsonDataLoadedWithError(int errorCode, String errorMessage) {
Utils.showDialog(SignInActivity.this, errorMessage);
}
@Override
public void onJsonDataLoadingFailure(int errorId) {
Utils.showDialog(SignInActivity.this, errorId);
}
}
Когда я отлаживаю код, он передается вФункция «SignIn ()», но когда она запрашивает «DataLoader.loadJsonDataPostWithProgress3», она просто передает ее как не существует, она не переходит к обработчику ни обработки ошибок, ни ошибок.На стороне приложения я нажимаю на кнопку log show show progress, затем остановка прогресса без каких-либо сообщений.