如何在Xamarin中使用PUT方法

时间:2019-01-23 18:43:22

标签: json api xamarin.forms cross-platform put

我正在尝试使用PUT方法更新我的其余API,但是它无法正常工作,并且没有显示任何错误或异常。

请帮助我解决此问题。

我正在按钮事件和输入值的文本框(条目)中执行此操作:

功能:

 private async void UpdateButton_Clicked(object sender, EventArgs e)
    {


        string aa = I.Text;
        string bb = N.Text;
        string cc = S.Text;
        string dd = A.Text;
        private HttpClient client = new HttpClient();
        var post = new check { id = aa, employee_name = bb, employee_salary = cc, employee_age = dd };
        var content = JsonConvert.SerializeObject(post);
        await client.PutAsync("http://dummy.restapiexample.com/api/v1/update/"+aa, new StringContent(content));


    }

班级

public string id { get; set; } 
        public string employee_name { get; set; }
        public string employee_salary { get; set; }
        public string employee_age { get; set; }
        public string profile_image { get; set; }

XAML:

 <StackLayout Margin="0,50,0,0">

        <Entry Placeholder="Enter your Id" x:Name="I"></Entry>
        <Entry Placeholder="Enter your name" x:Name="N"></Entry>
        <Entry Placeholder="Enter your salary" x:Name="S"></Entry>
        <Entry Placeholder="Enter your age" x:Name="A"></Entry>

        <Button Text="Update" x:Name="UpdateButton" Clicked="UpdateButton_Clicked"></Button>




    </StackLayout>

2 个答案:

答案 0 :(得分:0)

我认为我们没有足够的信息来帮助您解决此问题。话虽这么说,我首先要验证content包含有效的JSON,并且JSON的格式应为PUT端点期望的格式。接下来,我将使用curl和来自content的经过验证的JSON手动测试端点。

在我看来,这就像C#,所以我假设您正在使用Visual Studio。由于没有任何错误或异常,因此另一个想法是使用断点逐步执行每一行。

由于REST终结点位于HTTP而非HTTPS上,因此您还可以使用Wireshark来检查往返于API的数据包。

答案 1 :(得分:0)

Termin termin = new Termin();
termin.ID = userid;
    string url = "https://6a002c323e80.ngrok.io/";
    var json = JsonConvert.SerializeObject(termin);
    var content = new StringContent(json, Encoding.UTF8, "application/json");
    var result = await client.PostAsync(url+ "api/Termin/update", content);