我一直在 asp.net 网站上使用新的 WebAPI。我使用可以获取的简单字符串创建了一些示例。我想看看我现在是否可以 POST 和 PUT 到该服务。
我正在寻找如何将对象添加到请求中,然后我可以从 .net 3.5 控制台应用程序中发布或 PUT。我要发送的对象只是一个简单的用户类,其中包含姓名、姓氏和用户 ID。
从我的测试来看,我似乎可以序列化它并通过 URI 发送它,但这似乎不太正确。我注意到这些请求有标题,我可以把数据放在那里吗?
我一直在 asp.net 网站上使用新的 WebAPI。我使用可以获取的简单字符串创建了一些示例。我想看看我现在是否可以 POST 和 PUT 到该服务。
我正在寻找如何将对象添加到请求中,然后我可以从 .net 3.5 控制台应用程序中发布或 PUT。我要发送的对象只是一个简单的用户类,其中包含姓名、姓氏和用户 ID。
从我的测试来看,我似乎可以序列化它并通过 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 做大多数事情变得容易。