我想知道当它仅用于查找数据时发送复杂对象的最佳方法是什么。我有一个网格,其中分页,过滤,排序等将在服务器端进行。所以我必须在每次请求时发送所有数据。
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
}
现在我可以使用POST,但它不是打破了它的目的吗?
这样做的最佳选择是什么?
答案 0 :(得分:1)
您应该使用帖子,在正文中发送复杂对象(例如JSON)。
每个W3.org
“GET方法意味着检索由Request-URI标识的任何信息(以实体的形式)。”
“POST方法用于请求源服务器接受请求中包含的实体作为请求行中Request-URI标识的资源的新下属。”
有关详细信息,请参阅here。