Я пытаюсь отправить динамический c объект через и запрос HTTP POst, но когда я получаю этот объект, он пуст.
Я не могу использовать JObject, потому что у меня есть «виртуальный» API, и он не принимает JObjects.
Я пытался отправить объект типа и Dynami c. Оба они не работают. Может ли какое-нибудь тело помочь мне?
Вот мой запрос на сообщение:
public static void Post(string uri, object parameter, string serviceName)
{
StringBuilder url = new StringBuilder();
url.Append(uri);
var client = GetClient(url.ToString(), 300, "application/json");
var urlParameters = GetUrlParameters(new List<KeyValuePair<string, object>>() { });
var response = client.PostAsync(
urlParameters,
new StringContent(
JsonConvert.SerializeObject(parameter).ToString(),
Encoding.UTF8,
"application/json")
).Result;
if (response.StatusCode != System.Net.HttpStatusCode.OK)
throw new Exception($"{serviceName}: {response.StatusCode}");
}
Вот где я получаю этот пост:
Перехват для метода:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "Teste")]
void Teste(object requestData);
Метод, реализованный в классе (это фактически, где я получаю данные):
public void Teste(object requestData)
{
var teste = requestData;
var t1 = JsonConvert.SerializeObject(requestData); // this returns {}; (empty)
}