我一直在通過asp.net網站上的新WebAPI進行工作。我用簡單的字符串創建了幾個樣本,我可以獲取。我期待看看我現在是否可以POST和PUT到服務。如何將數據傳遞給ASP.NET WebAPI
我期待看到如何添加一個對象到請求,然後我可以從.net 3.5控制檯應用程序POST或PUT。我想發送的對象只是一個簡單的User類,帶有Name,Surname和UserID。
從我的測試看來,我可以序列化並通過URI發送它,但這似乎很難看。我注意到這些請求有標題,我可以把數據放在那裏嗎?
我一直在通過asp.net網站上的新WebAPI進行工作。我用簡單的字符串創建了幾個樣本,我可以獲取。我期待看看我現在是否可以POST和PUT到服務。如何將數據傳遞給ASP.NET WebAPI
我期待看到如何添加一個對象到請求,然後我可以從.net 3.5控制檯應用程序POST或PUT。我想發送的對象只是一個簡單的User類,帶有Name,Surname和UserID。
從我的測試看來,我可以序列化並通過URI發送它,但這似乎很難看。我注意到這些請求有標題,我可以把數據放在那裏嗎?
使用.NET 3.5,不會有太多的優雅選擇,我認爲但是這個代碼使用WebClient
作品(你需要添加參考System.Web.Extensions程序):
WebClient client = new WebClient();
JavaScriptSerializer serializer = new JavaScriptSerializer();
var data = serializer.Serialize(new {Name = "Ali", Title = "Ostad"});
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var downloadString = client.UploadString("http://localhost:59174/api/values", data); // value is "Ali"
這裏是控制器動作:
// POST /api/values
public string Post(JsonValue value)
{
return value.AsDynamic().Name;
}
查看NuGet上的HttpClient。這使得通過http執行大部分操作變得很容易。
和here's an example使用它。
此客戶端是否支持.net 3.5(Winforms/Console/WPF/Silverlight)? – deanvmc 2012-04-27 08:47:16
據我所知,HttpClient(WCF Web Api的一部分)是.NET 4,但舊版本可用於.net 3.5 - 請參閱http://stackoverflow.com/questions/8257652/webapi-httpclient-for-net -framework-3-5 – 2012-04-27 22:18:23