【问题标题】:Use POST method in RestSharp在 RestSharp 中使用 POST 方法
【发布时间】:2019-08-26 04:12:37
【问题描述】:

我想在这里使用 RestSharp 将数据发布到我的 API:

creat.php

我的结构是这样的:

read.php

在 PostMan 中,我使用 body 选项和原始输入,如下所示:

{
    "story_code" : "Amazing Pillow 2.0",
    "master_code" : "199",
    "created" : "2018-06-01 00:35:07"
}

而且它有效。在 RestSharp 中,我使用了此代码,但它返回了错误请求和消息:“无法创建产品。数据不完整。”

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 但又是一个错误的请求。

我应该使用什么功能?

【问题讨论】:

    标签: c# api restsharp


    【解决方案1】:

    您可以使用AddJsonBody 代替.AddParameter 来获取类似于您已经知道可以正常工作的邮递员发送的内容。

    下面的代码例如:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 2023-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多