مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

ارسال مقدار به web api

  • جمعه 9 شهریور 1397
  • 10:56
تشکر میکنم

با سلام.

با استفاده از کد زیر مقداری را به web api می فرستم:

string UserId = Intent.GetStringExtra("UserID");

            var content = new FormUrlEncodedContent(
               new List<KeyValuePair<string, string>>
               {
                    new KeyValuePair<string, string>("StudentID", UserId)
               }

        
               );

            string url = "http://sample.ir/Api/BarnameKelassiStu";
            
            HttpClient client = new HttpClient();
            var response = await client.PostAsync(url, content);
            Toast.MakeText(this, response.StatusCode.ToString(), ToastLength.Long).Show();

اما در آخر پیغام not found می دهد

اما وقتی بدون مقدار وصل می شوم مقدار برگشتی نمایش داده می شود

لطفا راهنمایی نمایید

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 9 شهریور 1397
  • 18:34

ورودی Api را بررسی کنید

مقادیر ارسالی باید همخوانی داشته باشند

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • جمعه 9 شهریور 1397
  • 19:09

با تشکر از استاد محترم

کد زیر مربوط به web api هست:

 public string DisplayStudentWeekly(string StudentID)
        { 
 return StudentID;
        }

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • جمعه 9 شهریور 1397
  • 21:16

استاد برای ارسال یک مقدار از نوع string چه باید کرد؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 10 شهریور 1397
  • 09:44

به این متد باید صفت HttpGet بدید 

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • شنبه 10 شهریور 1397
  • 09:48

استاد با تشکر

با متد get درست کار می کند. اما می خوام post باشد

چکار کنم؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 10 شهریور 1397
  • 09:56

خب باید مشخص کنید این متد Post هست 

نامش رو به post تغییر دهید 

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • شنبه 10 شهریور 1397
  • 10:01

استاد با تشکر از شما

صفت httpget را گذاشته بودم و با زامارین بهش وصل میشدم و درست بود

صفت را به httppost تغییر دادم و حالا می خوام بهش وصل شم. یک پارامتر id که از نوع string می باشد باید پاس داده شود.

حالا نمی دونم که این پارامتر را چگونه ارسال نمایم

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 10 شهریور 1397
  • 10:41

نمونه 

کد Api


        //[HttpPost]
        public void PostAds(InsertAds ad)
        {
            Ads ads=new Ads();
            ads.CreateDate=DateTime.Now;
            ads.Title = ad.Title;
            ads.Description = ad.Description;
            ads.ImageName = ad.ImageName;
            ads.Price = ad.Price;
            if (ad.AdsImage != null)
            {
                using (var img=new MemoryStream(ad.AdsImage))
                {
                    Image imgAds = Image.FromStream(img);
                    imgAds.Save(HttpContext.Current.Server.MapPath("/AdsImages/"+ad.ImageName));

                }
            }

            db.Adses.Add(ads);
            db.SaveChanges();
        }

کد زامارین 

 public void PostAds(Ads ad,byte[] imageAds)
        {
            using (var client=new HttpClient())
            {
                string json = JsonConvert.SerializeObject(ad);
                StringContent content = new StringContent(json, Encoding.UTF8, "application/json");
                var result = client.PostAsync(ApiUrl + "/Api/DivarApi", content).Result;
            }
            UploadBitmapAsync(imageAds,ad.ImageName);
        }

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • شنبه 10 شهریور 1397
  • 11:12

با تشکر

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)