-2

我正在测试您向其发送 json 的服务,它会返回包含您发送的数据的 PDF。我对 Insomnia 进行了测试,如下所示:

失眠测试

它可以正常工作,但尝试通过代码恢复文件总是会产生错误。我的代码如下:

var client = new RestClient("Api");
var request = new RestRequest(Method.GET);

request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n\t\"QuotationId\": 0,\n\t\"QuotationName\": \"CasaLomas\",\n\t\"UserGUID\": \"75DB06AC-E349-4C47-A5AF-87EC63A9B8A9\",\n\t\"QuotedQuantity\": 5,\n\t\"TotalPrice\": 500,\n\t\"CopyEmail\": \"angelmg50@hotmail.com\",\n\t\"MaterialDetails\": [\n\t\t{\n\t\t\t\"SKU\": \"C05423082015140001\",\n\t\t\t\"Name\": \"PORC KONE WHITE MATE 60x30x1\",\n\t\t\t\"Quantity\": 1,\n\t\t\t\"Price\": 638.09,\n\t\t\t\"Amount\": 6380\n\t\t},\n\t\t{\n\t\t\t\"SKU\": \"C05423082015140001\",\n\t\t\t\"Name\": \"PORC KONE WHITE MATE 60x30x1\",\n\t\t\t\"Quantity\": 1,\n\t\t\t\"Price\": 638.09,\n\t\t\t\"Amount\": 6380\n\t\t},\n\t\t{\n\t\t\t\"SKU\": \"C05423082015140001\",\n\t\t\t\"Name\": \"PORC KONE WHITE MATE 60x30x1\",\n\t\t\t\"Quantity\": 1,\n\t\t\t\"Price\": 638.09,\n\t\t\t\"Amount\": 6380\n\t\t}\n\t]\n}", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

这与 API 正确连接,但显然 json 未正确发送。知道为什么会这样吗?

我用动态创建了 json 并尝试发送它。

dynamic cotizacion = new JObject();

cotizacion.QuotationId = 0;
cotizacion.QuotationName = "Casa lomas 3";
cotizacion.UserGUID = "75DB06AC-E349-4C47-A5AF-87EC63A9B8A9";
cotizacion.QuotedQuantity = 6;
cotizacion.TotalPrice = 456.12;
cotizacion.CopyEmail = "angelmg50@hotmail.com";
cotizacion.MaterialDetails = new JArray(new JObject(
  new JProperty("SKU", "C05423082015140001"),
  new JProperty("Name", "PORC KONE WHITE MATE 60x30x1"),
  new JProperty("Quantity", 1),
  new JProperty("Price", 638.09),
  new JProperty("Amount", 6380.30)));

var client = new RestClient("Api");
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", cotizacion, ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

但这也不起作用。

当我在控制台中打印 response.Content 时,它向我显示以下内容:“消息”:“尝试生成 PDF 时出现内部错误”值不能为空。\r\n参数名:source","StatusCode":3,"Result":null,"ResultList":null}

4

1 回答 1

1

https://github.com/restsharp/RestSharp/wiki/Recommended-Usage

似乎您正在尝试添加一个名为 name 的参数"application/json"。您可能需要在端点中指定参数的名称并使用AddObject而不是AddParameter. 如果您可以向我们提供有关您的端点的更多信息,我们可以提供更多帮助。

于 2018-11-23T19:53:56.627 回答