在 RestSharp 中使用 POST 方法
Use POST method in RestSharp
我想使用 RestSharp 将 post 数据传送到我的 API 此处:
我的结构是这样的:
在 PostMan 中,我使用正文选项和原始输入,如下所示:
{
"story_code" : "Amazing Pillow 2.0",
"master_code" : "199",
"created" : "2018-06-01 00:35:07"
}
并且有效。在 RestSharp 中,我使用了这段代码,但它返回了 Bad Request 和消息:"Unable to create product. Data is incomplete."
var client = new RestClient("http://api.dastanito.ir");
var request = new RestRequest("/storiesmaster/creat.php", Method.POST);
request.AddParameter("story_code", "value");
request.AddParameter("master_code", "value2");
IRestResponse response = client.Execute(request);
var content = response.Content;
我什至使用了 AddQueryParameter 但请求又是错误的。
我应该使用什么功能?
您可以使用 AddJsonBody
而不是 .AddParameter
来获得类似于 Postman 发送的内容,您已经知道它可以正常工作。
例如下面的代码有效:
var client = new RestClient("http://api.dastanito.ir");
var request = new RestRequest("/storiesmaster/creat.php", Method.POST);
request.AddJsonBody(new
{
story_code = "value",
master_code = "value2"
});
IRestResponse response = client.Execute(request);
var content = response.Content; // {"message":" created."}
如果您使用 Fiddler 检查传出消息,它看起来像这样:
{"story_code":"value","master_code":"value2"}
而您使用 AddParameter
的消息如下所示:
story_code=value&master_code=value2
我想使用 RestSharp 将 post 数据传送到我的 API 此处:
我的结构是这样的:
在 PostMan 中,我使用正文选项和原始输入,如下所示:
{
"story_code" : "Amazing Pillow 2.0",
"master_code" : "199",
"created" : "2018-06-01 00:35:07"
}
并且有效。在 RestSharp 中,我使用了这段代码,但它返回了 Bad Request 和消息:"Unable to create product. Data is incomplete."
var client = new RestClient("http://api.dastanito.ir");
var request = new RestRequest("/storiesmaster/creat.php", Method.POST);
request.AddParameter("story_code", "value");
request.AddParameter("master_code", "value2");
IRestResponse response = client.Execute(request);
var content = response.Content;
我什至使用了 AddQueryParameter 但请求又是错误的。
我应该使用什么功能?
您可以使用 AddJsonBody
而不是 .AddParameter
来获得类似于 Postman 发送的内容,您已经知道它可以正常工作。
例如下面的代码有效:
var client = new RestClient("http://api.dastanito.ir");
var request = new RestRequest("/storiesmaster/creat.php", Method.POST);
request.AddJsonBody(new
{
story_code = "value",
master_code = "value2"
});
IRestResponse response = client.Execute(request);
var content = response.Content; // {"message":" created."}
如果您使用 Fiddler 检查传出消息,它看起来像这样:
{"story_code":"value","master_code":"value2"}
而您使用 AddParameter
的消息如下所示:
story_code=value&master_code=value2