使用 RestSharp 轻松调用 Rest api
Easily call an Rest api with RestSharp
我有一个 RestApi,我想将它与我的 c# mvc 客户端一起使用。
我需要发送一些由 c# 模型表示的数据包。
我用代码尝试 RestSharp:
//model = UserModel
var client = new RestClient(apiUrl);
var request = new RestRequest("/user/register", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddParameter("user", model);
request.AddHeader("Content-Type", "application/json; charset=UTF-8");
var response = client.Execute(request);
在 response.StatusCode 我有 BadRequest System.Net.HttpStatusCode
如何调试我的请求?我尝试使用 wireshark 查看请求,但我没有看到任何 json 数据包。
编辑:
当我使用 AddJsonBody 而不是 AddParameter 时它可以工作,但是我的 json 数据包没有按预期格式化。
我要
{
"user":
{"Username": "Test",
"Password": "password"
}
}
使用 AddJsonBody 我有:
{
{
"Username": "Test",
"Password": "password"
}
}
如何使用 RestSharp 在 json 数据包中提供 "name"?
你可以使用这个:
request.AddJsonBody(new { user = model });
这将创建一个匿名类型,其中 属性 "user" 包含您的模型。然后 json 序列化程序应该生成预期的字符串。
我有一个 RestApi,我想将它与我的 c# mvc 客户端一起使用。
我需要发送一些由 c# 模型表示的数据包。
我用代码尝试 RestSharp:
//model = UserModel
var client = new RestClient(apiUrl);
var request = new RestRequest("/user/register", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddParameter("user", model);
request.AddHeader("Content-Type", "application/json; charset=UTF-8");
var response = client.Execute(request);
在 response.StatusCode 我有 BadRequest System.Net.HttpStatusCode
如何调试我的请求?我尝试使用 wireshark 查看请求,但我没有看到任何 json 数据包。
编辑:
当我使用 AddJsonBody 而不是 AddParameter 时它可以工作,但是我的 json 数据包没有按预期格式化。
我要
{
"user":
{"Username": "Test",
"Password": "password"
}
}
使用 AddJsonBody 我有:
{
{
"Username": "Test",
"Password": "password"
}
}
如何使用 RestSharp 在 json 数据包中提供 "name"?
你可以使用这个:
request.AddJsonBody(new { user = model });
这将创建一个匿名类型,其中 属性 "user" 包含您的模型。然后 json 序列化程序应该生成预期的字符串。