Http 发送复杂对象GET vs POST
我想知道当一个复杂的对象只用于查找数据时,发送它的最佳方式是什么。我有一个网格,其中分页、过滤、排序等将在服务器端完成。所以我必须在每个请求中发送所有数据Http 发送复杂对象GET vs POST,http,asp.net-web-api,get,Http,Asp.net Web Api,Get,我想知道当一个复杂的对象只用于查找数据时,发送它的最佳方式是什么。我有一个网格,其中分页、过滤、排序等将在服务器端完成。所以我必须在每个请求中发送所有数据 public class DataConfiguratorDto { [Required] public Paging Paging { get; set; } public Sorting Sorting { get; set; } public IList<Filtering> Fliter
public class DataConfiguratorDto
{
[Required]
public Paging Paging { get; set; }
public Sorting Sorting { get; set; }
public IList<Filtering> FlitersList { get; set; }
}
public enum FilterCondition
{
Equals,
Contains,
MoreThan,
LessThan,
}
public class Paging
{
public int RowNumberStart { get; set; }
[GreaterThan(nameof(RowNumberStart))]
public int RowNumberEnd { get; set; }
}
public class Filtering
{
[Required]
public string ColumnName { get; set; }
[Required]
public object FilterValue { get; set; }
[Required]
public FilterCondition FilterCondition { get; set; }
[Required]
public FilterType FilterType { get; set; }
}
public class Sorting
{
[Required]
public SortOption SortOption;
[Required]
public string ColumnName { get; set; }
}
public enum SortOption
{
Asc,
Desc
}
public enum FilterType
{
And,
Or
}
公共类DataConfiguratorDto
{
[必需]
公共分页{get;set;}
公共排序{get;set;}
公共IList FlitersList{get;set;}
}
公共枚举筛选器条件
{
等于,
包含,
不止,
莱斯坦,
}
公共类分页
{
public int RowNumberStart{get;set;}
[GreaterThan(nameof(RowNumberStart))]
public int rownumberrend{get;set;}
}
公共类过滤
{
[必需]
公共字符串ColumnName{get;set;}
[必需]
公共对象筛选器值{get;set;}
[必需]
公共筛选器条件筛选器条件{get;set;}
[必需]
公共筛选器类型筛选器类型{get;set;}
}
公共类排序
{
[必需]
公共分类;
[必需]
公共字符串ColumnName{get;set;}
}
公共枚举排序
{
Asc,
描述
}
公共枚举筛选器类型
{
以及,
或
}
现在我可以使用POST,但它不是破坏了它的用途吗
执行此操作的最佳选项是什么?您应该使用post,在正文中发送复杂对象(例如JSON) 根据W3.org “GET方法意味着检索由请求URI标识的任何信息(以实体的形式)。” “POST方法用于请求源服务器接受请求中包含的实体,作为请求行中请求URI标识的资源的新从属。” 有关更多信息,请参阅