关于Lind.DDD.Api的使用与客户端的调用
作者:张占岭
花名:仓储大叔
框架:Lind.DDD,Lind.DDD.Api
目录
Api里注册全局校验特性 1
Api中设置全局的Cors跨域资源访问 2
Api直接返回Json,而不是Xml 2
Api中Controller的Get,Post,Put和Delete 3
Api中Controller几大方法重载要注意的 3
客户端如何调用Api 4
对ResponseMessage的结果按需返回 5
对ResponseMessage添加TotalRecords支持分页集合 6
客户端如何为服务端传输加密密钥 7
Api里注册全局校验特性
Api中设置全局的Cors跨域资源访问
Api直接返回Json,而不是Xml
添加全局过滤器之后,再访问API之后就被响应成JSON串了
Api中Controller的Get,Post,Put和Delete
Get:一般用于读取资源
Post:用来添加资源
Put:用来更新资源
Delete:用于删除资源
Api中Controller几大方法重载要注意的
一、方法类型相同,名称不同,个数相同,这种重载不被允许
二、方法类型不同,个数相同,这种重载可以
三、方法类型不同,个数相同,但名称相同,这种重载不可以
客户端如何调用Api
读取资源
添加资源
更新资源:
对ResponseMessage的结果按需返回
对于一个对象,一个集合,它在返回到客户端时可能有些信息是无用的,如果把他们返回那就是多余的,造成了不必要的数据传输的损失,所以我们应该按需序列化字段,而不是把方法所有字段都返回到客户端,而返回的字段列表,由客户端的请求参数决定。
对于ReturnMessage的返回,需要指定要过滤的字段,这些返回到客户端就只有指定的字段了,需要注意的是,我们的每个字段之间需要用逗号分割,这是一个约定。
对ResponseMessage添加TotalRecords支持分页集合
如果分页返回的数据,我们在前台需要知道集合的所有数量,然后和当前页码及每页显示的数据量来构建我们的模块。
在Body的set块中为TotalRecords属性赋值
然后ReturnMessaged在序列化后,将TotalRecords响应到客户端。
客户端如何为服务端传输加密密钥
Lind.DDD框架里为我们提供了简单的方式进行密钥串的长成,你只需要将参数到到NameValueCollection键值对里,然后调用密钥生产方法,最后使用它自己的扩展方法ToUrl()来进行最终地址的升成。
验证成功,返回如下结果
当验证不合法时,则返回如下结果
而服务端可以通过全局的过滤器对URL地址进行解析,并校验它的合法性!
好了,本讲主要是一些基础知识的介绍,我们在使用webApi开发项目过程中,还会不断的总结。