【发布时间】:2012-01-29 15:38:46
【问题描述】:
我正在尝试与需要 PUT 来更新数据的 API 集成:
这是他们使用 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
但是,我需要使用 .NET MVC 3 来使用 JSON(他们也支持)。知道如何做到这一点吗?
我使用下面的代码成功获取:
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");
如果是这样,我应该将“data-binary”中所需的数据放在哪里?
【问题讨论】:
标签: asp.net-mvc-3 httpwebrequest