تاپیک مورد نظر بسته شده است
با سلام دوستان یک پروژه WebAPI ساختم جدیدا دارم روش کار میکنم و هنوز خیلی مشکل دارم ممنون میشم اگر راهنماییم کنید.
داخل پروژه یک API ساختم به اسم AndroidController و میخوام یک پارامتر بفرستم بهش و یک جواب برام برگرده.
اما فکر میکنم در RouteConfig مشکل داره پروژم و کلا هیچ URl کار نمیکنه ، متاسفانه یاد ندارم چطور باید از RouteConfig استفاده کنم.
3تا عکس گذاشتم ممنون میشم راهنماییم کنید.
میخوام یک مقدار به پارامتر test در تابع GetUSers بفرستم و یک جواب برام برگرده.
اول: آدرس ارسالی اشتباه است و همچنین نام اکشن ذکر نشده.
دوم: شما دارید به صورت GET درخواست را ارسال می کنید ولی بالا اکشن خود از صفت HttpPost استفاده کرده اید.
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapHttpRoute( name: "ActionApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { controller = "Values", action = "Get_users", id = UrlParameter.Optional } ); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
public class AndroidController : ApiController { Class1 clas1 = new Class1(); // [HttpPost] [ActionName("Get_users")] public string GetUSers(string test) { ApplicationDbContext db = new ApplicationDbContext(); if (clas1.Check_user(test) != "Username Wrong") { DataTable dt = new DataTable(); SqlConnection con = new SqlConnection("..."); SqlCommand cmd = new SqlCommand("SELECT [name],[family],[Fullname] FROM [User]", con); con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); con.Close(); string JSONString = string.Empty; JSONString = JsonConvert.SerializeObject(dt); return JSONString; } else { string JSONString = string.Empty; JSONString = JsonConvert.SerializeObject("wrong"); return JSONString; } } }
این تغییرات را اعمال کردم
ممنون میشم بیشتر راهنمایی کنید که به چه نحوه ای استفاده کنم که درست بشه کد.
Route ی که خودتون در RouteConfig تعریف کردید و صفت ActionName رو پاک کنید و برای دریافت داده ها به صورت از آدرس زیر استفاده کنید:
api/android/GetUSers?test=fakeData
وقعا ممنونم درست شد ، مدتیه که درگیرش بودم.
فقط یک سوال دیگه
آگر بخوام 2 یا مثلا 3 پارامتر در همین URL ارسال کنم ، URL آن به چه شکل میشه ؟؟؟؟
api/android/GetUSers?test=fakeData&othertest=towfakedata
public string GetUSers(string test, string othertest)
خیلی خیلی ممنونم .
هیچ کاربری تا کنون از این پست تشکر نکرده است
تاپیک مورد نظر بسته شده و امکان درج پاسخ وجود ندارد
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)