2017-02-02 61 views
0

我不知道发送复杂对象的最佳方式是何时发送复杂对象仅用于查找数据目的。我有一个网格,其中分页,过滤,排序等将完成严重的一面。所以我必须发送每个请求的所有数据。发送复杂对象GET vs POST

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

你应该使用一个帖子,发送正文中的复杂对象(例如JSON)。

每W3.org

“GET方法意味着检索的任何信息(以一个实体的形式)由请求URI来标识。” “

”POST方法用于请求源服务器接受请求中包含的实体作为由请求线中的请求URI标识的资源的新下属。“

有关更多信息,请参阅here