争对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开头的。说明功能上还是没问题的,只不过是没有符合功能的数据返回。