EasyHTTP - Put

根据 Spec

Put用于。

PUT方法请求将所包含的实体存储在提供的Request-URI下。如果Request-URI引用已经存在的资源,则封闭的实体应该被视为驻留在源服务器上的实体的修改版本。
如果Request-URI未指向现有资源,并且该URI能够被请求用户代理定义为新资源,则源服务器可以使用该URI创建资源。
如果创建了新资源,则源服务器必须通过201(已创建)响应通知用户代理。
如果修改了现有资源,则应该发送200(OK)或204(No Content)响应代码以指示请求成功完成。
如果无法使用Request-URI创建或修改资源,则应该给出适当的错误响应,以反映问题的性质。
实体的接收者绝不能忽略它不理解或实现的任何Content- *(例如Content-Range)头,并且在这种情况下必须返回501(未实现)响应。

您可以使用Put方法并使用静态,匿名或动态对象来放置服务。

让我们以Tree为例。

我们的Tree对象看起来像这样。

1
2
3
4
5
public class Tree
{
public int Id { get; set ; }
public string Genus { get; set; }
}

现在我们可以像这样把对象放到我们的服务上。

1
2
3
4
5
var tree = new Tree(); 
tree.Id = 1;
tree.Genus = "Fagus";
var http = new HttpClient();
http.Put("url", tree, HttpContentTypes.ApplicationJson);

或者我们可以使用这样的匿名对象来完成它。

1
2
var http = new HttpClient();
http.Put("url", new{Id=1, Genus="Fagus"}, HttpContentTypes.ApplicationJson);

或者你可以Put一个动态类型。

1
2
3
4
5
var tree = new ExpandoObject(); 
tree.Id = 1;
tree.Genus = "Fagus";
var http = new HttpClient();
http.Put("url", tree, HttpContentTypes.ApplicationJson);

您可以选择内容类型。

您还可以使用PutFile方法上传文件。