Я пытаюсь отправить json «стилизованную» строку через HttpResponseMessage .
Я создал следующий метод ниже в надежде отправить ответное сообщениеуспешно.
class Foo
{
/// <summary>
/// Vendors
/// </summary>
public enum Vendor
{
[Description("https://someSite.com")]
FOO = 0x001
}
/// <summary>
/// Send a POST response
/// </summary>
/// <param name="vendor"></param>
/// <param name="data"></param>
public static async void SendResponseAsync(Vendor vendor, string data)
{
Task task = Task.Run(async () =>
{
using (var httpClient = new HttpClient())
using (var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, vendor.EnumDescriptionToString()))
{
var json = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
httpRequestMessage.Content = new StringContent(json.ToString(), Encoding.UTF8, "application/json");
var result = await httpClient.SendAsync(httpRequestMessage);
Console.WriteLine(result.ReasonPhrase);
}
});
await task;
}
}
И я звоню со следующим:
static void Main()
{
string jsonText = "{\"apikey\": \"someAPIkey\",\"type\": \"ItemRegistered\", \"order\": \"999999\", \"item\": \"99999\", \"datetime\": \"2018-10-12 01:27:11 GMT\"}";
Foo.SendResponseAsync(Foo.Vendor.FOO, jsonText);
Console.ReadKey();
}
Я получаю ошибку: 400 Теперь вы можете сказать, что этомоя проблема здесь, и вы действительно правы, однако,
Мне интересно, почему, когда я использую PostMan , я получаю сообщение об ошибке, которое говорит, что номер заказа непризнал?в формате json,
Итак, я понимаю, что номер заказа неверен, однако, почему он не отображается в моем консольном приложении?Является ли мой метод POSTING правильным?