如何在xamarin.forms中的RESTapi中发送参数

本文关键字:参数 RESTapi 中的 xamarin forms | 更新日期: 2023-09-27 18:24:05

如何在xamarin.forms中的RESTapi中发送参数

我已经使用PCL在xamarin中创建了REST API项目。

当我使用Xamarin.forms(可移植类库)中的Below代码调用SimpleRESTapi时,我已经成功地接收到json响应。

using (var cl = new HttpClient())
{
    var result = await cl.GetStringAsync("http://192.168.1.100/apps/jara/web/api/user/test");
    jsonResponseClass des = JsonConvert.DeserializeObject<jsonResponseClass>(result);
    lbl1.Text = des.code + " " + des.status + " " + des.message;
}
public class jsonResponseClass
{
    public string code { get; set; }
    public string status { get; set; }
    public string message { get; set; }
}

使用上面的代码,我得到了的响应

{
    code: 200,
    status: "ok",
    message: "hello"
}

REST API响应类型为JSON,类型为<强力>POST

现在,我想使用paramater调用下面的LoginApi。

http://192.168.1.100/apps/jara/web/api/user/login

参数:email_id密码

此api成功响应类型为……

{
    code: 200,
    status: "Success",
    User: {
        userid: 126,
        token: "d154s4d54s654df5s4df56s4df564s5df4",
        email: "shahbuddin@gmail.com",
        mobile_number: "9898989898"
    },
    message: "Successfully logged in"
}

我能做什么?

如何在xamarin.forms中的RESTapi中发送参数

最后我可以使用下面的代码。。。。

using (var cl = new HttpClient())
{
    var formcontent = new FormUrlEncodedContent(new[]
    {
            new KeyValuePair<string,string>("email_id","shahbuddin@peerbits.com"),
            new KeyValuePair<string, string>("password","shah")
        });

    var request = await cl.PostAsync("http://192.168.1.100/apps/jara/web/api/user/login", formcontent);
    request.EnsureSuccessStatusCode();
    var response = await request.Content.ReadAsStringAsync();
    jsonResponselogin res = JsonConvert.DeserializeObject<jsonResponselogin>(response);
    lbl1.Text = res.code + " " + res.status + " " + res.message;
}

此代码有助于使用参数调用REST API

谢谢。。。