C# - ByteArray и строка вместе с HTTPClient Object

Я пытаюсь использовать сторонний API (не могу поделиться, конфиденциально), и они ожидают следующий json в качестве ввода:

{ 
PFID: “abc”,
CY: 2015,
AZs: [
    { AZN: “AZ1”, 
        x: <bytes>, y: <bytes>, x: <bytes>
    },
    { AZN: “AZ2”, 
        x: <bytes>, y: <bytes>, z: <bytes>
    }
]
}

Я использую HTTPClient для отправки запроса на этот WebAPI. Ниже приведен фрагмент для этого:

public void AddApplication(AZR request)
{
    HttpClient client = new HttpClient();
            client.BaseAddress = new Uri(url);

             client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

        client.DefaultRequestHeaders.Add("authorization","mybearertoken");

    innerJson = Json.JsonParser.Serialize<AppZoneRequest>(request); // <=== coming perfectly till here. json returns a perfect json with in bytes flowing in a perfect hierarchy
    HttpContent content = new StringContent(innerJson, Encoding.UTF8, "application/json"); // <==== my best guess is problem is here
    HttpResponseMessage response = client.PostAsync(apiURL, content).Result;    
    return response;
}


  public class AZR
    {
        public string PFID { get; set; }
        public int CY { get; set; }
        public List<xyz> AZs { get; set; }
    }
    public class xyz
    {
        public string AZN { get; set; }
        public byte[] x { get; set; }
        public byte[] y { get; set; }
        public byte[] z { get; set; }
    }

Когда я отправляю запрос, он возвращает мне статус 500, который указывает на внутреннюю ошибку сервера. Я понимаю, что вы не можете сериализовать массив байтов в строковом содержимом, и нам нужно использовать Byte ArrayContent, а если у вас есть оба, то использовать HttpMultipartFormDataContent. Но здесь иерархия такова, что у меня есть строка, int и массив объектов, а объект внутри него содержит строку, byte[], byte[], byte[]. Теперь я действительно не могу найти способ отправить запрос с таким. Любая помощь?

0 ответов

Другие вопросы по тегам