我正在尝试使用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>
答案 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);