使用C#中的RestSharp将正确的参数添加到REST请求

时间:2015-05-29 11:51:09

标签: c# rest restsharp

我正在尝试使用RestSharp生成正确的参数,但不知何故,在发出请求时,我总是得到内部服务器错误(500)或不可接受(406)。我已成功使用Google Chrome扩展程序邮递员发出请求,但仅限于使用Raw JSON格式时。所以我正在寻找一种方法来转换这个原始的JSON格式,以便将它与C#中的RestSharp服务一起使用。这是原始的JSON。

{
  "cliTemplateCommand" : {
    "targetDevices" : {
      "targetDevice" : {
        "targetDeviceID" : "123",
        "variableValues" : {
          "variableValue" : {
            "name" : "Interface",
            "value" : "GigabitEthernet101/1/0/22"
          }
        }
      }
    },
    "templateName" : "StudentConfig"
  }
}

有没有人可以帮我转换,所以我可以使用RestSharp将其提供给请求。以下是我用来尝试完成此操作的代码段:

request.RequestFormat = DataFormat.Json;
            request.AddHeader("Authorization", "Basic " + encodedPass);
            request.AddHeader("Content-Type", "application/json");
            string json =
                "{‘cliTemplateCommand’ : { ‘targetDevices’ : ‘targetDevice’ : " +
                "{ ‘targetDeviceID’ : ‘123’, ‘variableValues’ : { ‘variableValue’ :  ‘name’ : ‘Interface’, ‘value’ " +
                ": ‘GigabitEthernet101/1/0/22’ } } } }, ‘templateName’ : ‘StudentConfig’ }}";
            request.AddParameter("application/json", json, ParameterType.RequestBody);
            IRestResponse response = restClient.Execute(request);

0 个答案:

没有答案