【问题标题】:Restsharp- Method.POST is not workingRestsharp-Method.POST 不工作
【发布时间】:2014-12-25 19:18:13
【问题描述】:

我已经按照 RestSharp.org 文档尝试了所有可能的方案,但没有运气!

我有 ASP.Net Web API 这里是 POST 资源

[Route("/api/saveperson/{name}/{fathername}")]    
public void Post([FromBody]CustomObject customObject, string name, string fatherName)
{
      //customObject is null
}

RestSharp 请求:

public void SomeAPIRequest()
{
 var baseUrl = "someurl from config";
var client = new RestClient(baseUrl);
var request = new RestRequest("/api/saverperson/{name}/{fathername}",Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(myObject);  //This object is perfectly serialized in json
request.AddParameter("name","Gaurav",ParameterType.UrlSegment);
request.AddParameter("fathername","Lt. Sh. Ramkrishan",ParameterType.UrlSegment);

var response= client.Execute(request);

}

上面的代码在正文中发布的参数始终为空。

当我进行以下调用时,在 Body 中发布的参数具有值但其他参数为 null

public void SomeAPIRequest()
{
 var baseUrl = "someurl from config";
var client = new RestClient(baseUrl);
var request = new RestRequest("/api/saverperson/{name}/{fathername}",Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(myObject);  //This object is perfectly serialized in json
request.AddUrlSegment("name","Gaurav");
request.AddUrlSegment("fathername","Lt. Sh. Ramkrishan");

var response= client.Execute(request);

}

欢迎任何帮助!

【问题讨论】:

标签: asp.net-web-api restsharp


【解决方案1】:

我找到了解决方案。回答我自己的问题,以便遇到类似问题的人可以找到解决方案。

只需要将请求做为:

request.AddParameter("Application/Json", myObject, ParameterType.RequestBody);

以下是完整的sn-p:

public void SomeAPIRequest()
{
   var baseUrl = "someurl from config";
   var client = new RestClient(baseUrl);
   var request = new RestRequest("/api/saverperson/{name}/{fathername}",Method.POST);
   request.RequestFormat = DataFormat.Json;
   request.AddParameter("Application/Json", myObject, ParameterType.RequestBody);
   request.AddUrlSegment("name","Gaurav");
   request.AddUrlSegment("fathername","Lt. Sh. Ramkrishan");

   var response= client.Execute(request);

}

以上代码,解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2022-04-13
    • 1970-01-01
    相关资源
    最近更新 更多