با سلام.
یک مشکلی خوردم یک هفتس درگیرم کرده ممنون میشم کسی اگر میتونه راهنماییم کنه...
یک WebAPi دارم که یک تابع به اسم Check_IMEI که دارای دو پارامتر IMEI و Phone_model از نوع String است.
تو اندروید هم با کتابخانه Volley کار میکنم برای GET و POST یک مشکلی خوردم زمانی که request میخواد اجرا بشه خطا میخوره و به Errorlistener میره...
Debug کردم و فهمیدم زمانی که داخل Value پارامتری که ارسال میکنم اگر فضای خالی وجود داشته باشه ( چه اول و اخر ،چه وسط Value) درخواست POST ارسال نمیشه.
درصورتی که وقتی با نرم افزار POSTMAN دقیقا همین URL کپی کردم و با فضا های خالی داخل Value Parametr اجرا میکنم و جواب بر میگرده و مشکلی نداره و فهمیدم اصلا مشکل سمت Web API نیست...
از تمام بخش ها عکس گذاشتم ممنون میشم کمک کنید یک هفتش پروژم استاپ خورده نمیدونم چطور حلش کنم...
این هم کدی که داخل جاوا استفاده کردم
private void Check_IMEI() { String name_tabe = "Check_IMEI"; String parametr1 = "IMEI=" +"11d 00".trim(); String parametr2 = "Phone_model=" + "Apdd ple".trim(); String URL = "http://192.168.43.78:1010/api/CRM/" + name_tabe + "?" + parametr1.toString() + "&" + parametr2.toString(); Response.Listener<String> listener_IMEI = new Response.Listener<String>() { @Override public void onResponse(String response_IMEI) { if (response_IMEI.isEmpty() ) { } else{ Toast.makeText(getApplicationContext(),response_IMEI , Toast.LENGTH_SHORT).show(); } } }; Response.ErrorListener errorListener = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(getApplicationContext(), "خطا در انجام عملیات ، لطفا دسترسی به اینترنت را بررسی فرمایید", Toast.LENGTH_SHORT).show(); } }; StringRequest request_IMEI = new StringRequest(Request.Method.POST, URL,listener_IMEI,errorListener){}; AppController.getInstance().addToRequestQueue(request_IMEI); }
و اینم کد Web API
public string Check_IMEI(string IMEI, string Phone_model) { DataTable dt = new DataTable(); SqlCommand cmd = new SqlCommand("NEW_SelectQuery_IMEI", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@IMEI_number", SqlDbType.NVarChar).Value = IMEI; con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); if (dt.Rows.Count > 0) { con.Close(); return "1"; } else { DataTable dt_insert = new DataTable(); SqlCommand cmd_insert = new SqlCommand("NEW_InsertQuery_IMEI", con); cmd_insert.CommandType = CommandType.StoredProcedure; cmd_insert.Parameters.Add("@IMEI_number", SqlDbType.NVarChar).Value = IMEI; cmd_insert.Parameters.Add("@Phone_model", SqlDbType.NVarChar).Value = Phone_model; cmd_insert.ExecuteNonQuery(); con.Close(); return "1"; } }
کسی نظری نداره ؟؟؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)