您当前的位置: 首页 > 

寒冰屋

暂无认证

  • 1浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

高性能分页REST API查询生成器

寒冰屋 发布时间:2021-07-04 17:12:02 ,浏览量:1

目录

介绍

先决条件

抽象

客户请求

通过Postman Client使用REST API

REST API服务器端

在解决方案错误的情况下

  • 下载源 - 2.3 MB
介绍

满足在海量数据源上通过REST API进行记录分页的需求。因此,我们使用REST API提出了这个解决方案,希望它也能对您的工作有所帮助。其目的是执行特定和多列搜索、排序、动态页面大小调整、具有优雅的代码结构、最少的编码工作,以及最重要的性能。

先决条件

为了学习本文,您需要对MVC框架有一定的了解。如果您认为自己有足够的专业知识,那么您就可以轻松地进一步阅读本文了。

抽象

该解决方案使用Swagger作为文档和LINQKit包。LINQKit用于构建灵活且高性能的查询。

客户请求

我们使用Postman查询我们的REST API,json请求结构如下:

{
  "CurrentPage": 1,
  "PageSize": 1,
  "SearchText": "",
  "SortColumn": "Id",
  "SortDirection": "Desc",
  "HasPagination": true,
  "Columns": [
  ]
}

属性

描述

CurrentPage

请求的页码应该在这个属性中定义,例如,要有第3页的数组响应,那么3应该被分配给它。

PageSize

它定义了arraylist请求的返回大小或页面大小的大小。

SearchText

要搜索所有文本列,应填充此属性,例如,在这种情况下,abbot将搜索所有文本列ContactPerson、Phone、City、Region和Country

SortColumn

我们需要用哪一列来排序我们的数据,例如按联系人排序,传递的值应该是 ContactPerson

SortDirection

对于升序排序,Asc 应该被传递,对于降序,Desc

HasPagination

要将这个查询产生的每一个数据返回为json,它需要是false,否则true 应该被传递。

Columns[]

它是用于特定搜索的列的json数组列表,它包含Column对象数组。

Column

这个json对象有两个属性,ColumnName和ColumnSearchText, 这些搜索提供了特定的列搜索功能,例如:

示例 1

{
     "ColumnName":"Balance",
     "ColumnSearchText":"            
关注
打赏
1665926880
查看更多评论
0.0563s