P38 排序(下)

争对compantyDto和Company来使用封装的分页。
company的字段比较少,这里多添加了几个字段。

在dto里面也添加了这几个属性

在dbContext里面把这几个属性的长度设置了下。

数据也是添加上了

首先加一个排序字段,默认是CompanyName,dto里面叫做CompanyName,

在entity里面叫做name



然后在构造函数里面把company的dto也加上。

repository内进行排序


测试

默认先不加任何的查询参数

然后再加上orderBY


 


倒叙

来个组合的


加上分页







获取到的分页header


把分页改成10

生成的分页里面,排序的信息已经没有了

解决分页没有生成排序的信息

只需要在生成分页信息的时候加上orderfBy即可,。
复制生成的分页信息

复制出来

send

再看下此时生成的header

复制前一页的链接

访问前一页的链接

orderBy后面跟的是dto里面的字段。
orderBy后面如果写一个属性如果在dto里面不存在。
name这个属性在dto里面是不存在的

返回的状态码是500。这是客户端引起的错误,应该返回是4开头的错误。

判断字段是否存在方法

参数字段,也是逗号分隔开的。

判断空格出现的位置,如果不带空格,也就是-1,那么就是当前filed,否则就把从空格开始后面的元素移除掉才是当前字段。

有一个不存在就返回false,都存在的话就返回true

最后返回true


resharp把代码整理下

controller内使用

首先注入这个服务

加上非空的判断


方法点击右键,这又是resharp里面的功能



如果没找到,就返回一个4开头的错误信息



加上了很多字段,排序 、分页 companyName、searchTerm

orderBy改成存在的字段


请求可以返回2开头的。说明功能上还是没问题的,只不过是没有符合功能的数据返回。





 

结束

 

posted @ 2020-12-14 10:23  高山-景行  阅读(165)  评论(1编辑  收藏  举报