Как использовать Restsharp, чтобы правильно добавить Request Payload? - PullRequest
2 голосов
/ 01 мая 2019

Я пытаюсь использовать RestSharp, чтобы использовать запрос покоя, но я всегда получаю неправильный ответ. Код:

var url = "https://gql.tokopedia.com/graphql/";
var request = new RestRequest(Method.POST);
var client = new RestClient(url);

request.RequestFormat = DataFormat.Json;
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddBody(payLoad);
IRestResponse response = client.Execute(request);

Тип запроса - POST, а с параметром Request Payload в JSON (как показано в Chrome) значение выглядит следующим образом:

{"variables":{"sid":"987569","page":1,"perPage":80,"etalaseId":"etalase","sort":1},"query":"query ShopProducts($sid: String!, $page: Int, $perPage: Int, $keyword: String, $etalaseId: String,  $sort: Int){\n  GetShopProduct(shopID: $sid, filter: { page: $page, perPage: $perPage, fkeyword: $keyword, fmenu: $etalaseId, sort: $sort }){\n    status\n    errors\n    links {\n      prev\n      next\n    }\n    data {\n      name\n      product_url\n      product_id\n      price {\n        text_idr\n      }\n      primary_image{\n        original\n        thumbnail\n        resize300\n      }\n      flags{\n        isSold\n        isPreorder\n        isWholesale\n        isWishlist\n      }\n      campaign {\n        discounted_percentage\n        original_price_fmt\n        start_date\n        end_date\n      }\n      label{\n        color_hex\n        content\n      }\n      badge{\n        title\n        image_url\n      }\n      stats{\n        reviewCount\n        rating\n      }\n      category{\n        id\n      }\n    }\n  }\n}","operationName":null}

Я пытался в Postman с сырым телом возвращает ожидаемый результат, но не в c #. Помогает оценить.

1 Ответ

0 голосов
/ 01 мая 2019

Пожалуйста, проверьте ваш формат Json. Загрузка JSON может быть неправильного формата.

Получен неверный запрос (400) по следующей причине

1.Ваш браузер отправил запрос, который этот сервер не может понять. 2.Неверный URL 3. Запрос не может быть понят сервером из-за неправильного синтаксиса. Клиент не должен повторять запрос без изменений 4. Имя хоста запроса недействительно.

...