Я пытаюсь интегрировать с API, который требует PUT для обновления данных:
Вот пример из них, использующий curl:
curl --request PUT \
--user-agent "Your Client Name/1.0" \
--header "Content-Type: application/xml" \
--data-binary '<order><status_id>10</status_id></order>' \
https://www.example.com/api/v2/orders/101
Однако мне нужно было бы использовать JSON (они тоже это поддерживают) с использованием .NET MVC 3. Есть идеи, как мне это сделать?
Я успешно использую приведенный ниже код для GET:
Order obj = Call<Order>(url, "GET");
private T Call<T>(string url, string methodType) where T : class {
T result;
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = methodType;
request.Accept = "application/json";
request.ContentType = "application/json";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
using (StreamReader reader = new StreamReader(response.GetResponseStream())) {
JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
string jsonData = reader.ReadToEnd();
result = (T)jsSerializer.Deserialize<T>(jsonData);
}
return result;
}
Однако можно ли выдать PUT аналогичным способом?
Order obj = Call<Order>(url, "PUT");
Если это так, куда я помещаю данные, которые требуются, в «двоичные данные»?