Я хочу вызвать конечную точку командой Put.
В Почтальоне
Я могу поставить пример https://example.com/customers/106
.Затем я добавляю тело типа application/json
(под raw
).
Когда я Put
это тело к конечной точке, я получаю 200 OK
.
Конечная точка IДля использования требуются два пользовательских заголовка и тип контента, который я сделал под заголовками.Поэтому я добавляю три заголовка: X-AppSecretToken
, X-AgreementGrantToken
и Content-Type
(to application/json
).
В RestSharp
Здесь я использую следующее.putstr
- это то же самое тело, что и я Put
, что и в Почтальоне:
var restclient = new RestSharp.RestClient("https://example.com");
var request = new RestRequest("/customers/" + customerId, Method.PUT);
request.AddHeader("X-AppSecretToken", systemToken);
request.AddHeader("X-AgreementGrantToken", userToken);
request.AddHeader("Accept", "application/json");
request.AddJsonBody(putstr);
var response = restclient.Execute(request);
Теперь, когда я делаю это, я получаю следующий ответ, который является пользовательской ошибкой из API, которым я являюсьЗвонок:
"{\"message\":\"Error converting value SOME STUFF}}\\\" to type 'eco.rest.Models.Customer'. Path '', line 1, position 605.\",\"errorCode\":\"E00500\",\"developerHint\":\"The JSON payload could not be parsed. The error message should give you a good indication of where the error is located. One common reason for this error is a missing '{' or a '}' in your payload.\",\"logId\":\"123fc6fb4964a141f612ae8ae7571446\",\"httpStatusCode\":400,\"logTime\":\"2018-05-20T21:56:56\"}"
Как исправить?
Обычно я никогда не задавал бы этот вопрос.Если бы кто-то еще спросил, я бы сказал: откройте Fiddler или похожий инструмент и посмотрите, как разные запросы.
У меня есть некоторые проблемы с этим, потому что это HTTPS.
Когда я отлаживаю через мойкод, я просто не вижу звонка внутри Fiddler.Я тоже установил Чарльза, но тоже не повезло.Не уверен, в чем проблема.
Однако я подумал, что кто-то, кто читает это, может решить эту проблему.Мои собственные предположения состоят в том, что я, возможно, неправильно добавил заголовки, тело JSON кодируется по-разному или похоже - но я действительно не уверен, как двигаться дальше.Я надеюсь, что кто-то может помочь!