Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何在Xamarin中使用PUT方法_Json_Api_Xamarin.forms_Cross Platform_Put - Fatal编程技术网

Json 如何在Xamarin中使用PUT方法

Json 如何在Xamarin中使用PUT方法,json,api,xamarin.forms,cross-platform,put,Json,Api,Xamarin.forms,Cross Platform,Put,我试图使用PUT方法更新我的rest API,但它不工作,也没有显示任何错误或异常。 请帮我解决这个问题。 我在按钮事件和输入值的文本框(条目)中执行此操作: private async void UpdateButton_Clicked(object sender, EventArgs e) { string aa = I.Text; string bb = N.Text; string cc = S.Text; s

我试图使用PUT方法更新我的rest 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; }
 <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>
功能:

 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; }
 <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>
类别:

 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; }
 <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>
XAML:

 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; }
 <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>

我认为我们没有足够的信息来帮助您解决这个问题。话虽如此,我将首先验证
content
是否包含有效的JSON,以及JSON是否符合PUT端点所期望的格式。接下来,我将使用curl和
content
中经过验证的JSON手动测试端点

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

由于REST端点位于HTTP而非HTTPS上,因此还可以使用Wireshark检查发送到API和从API发送的数据包

term=new term();
term.ID=用户ID;
字符串url=”https://6a002c323e80.ngrok.io/";
var json=JsonConvert.SerializeObject(term);
var content=newstringcontent(json,Encoding.UTF8,“application/json”);

var result=wait client.PostAsync(url+“api/term/update”,内容)是的,我也尝试过断点,它通过文本框输入所有值。内容有有效的JSON,我检查了很多次。你会用curl测试端点并发布结果吗?由于您使用的是Windows,您可能需要安装cygwin。谢谢老兄,我也会尝试一下,希望能达到最佳效果。
它不工作的确切含义是什么?
您发出请求,但不检查响应的状态。发送的内容被序列化为JSON,但未将
application/JSON
content-type头包含在request@Nkosi谢谢兄弟,你能不能更改我的代码或者给我一个回复状态的示例代码。你已经接受了一个显示收到回复的代码