​回到目录​

关于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里注册全局校验特性

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端

Api中设置全局的Cors跨域资源访问

 

关于Lind.DDD.Api客户端的使用与知识分享_分页_02

关于Lind.DDD.Api客户端的使用与知识分享_字段_03

 

Api直接返回Json,而不是Xml

 

关于Lind.DDD.Api客户端的使用与知识分享_分页_04

添加全局过滤器之后,再访问API之后就被响应成JSON串了

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端_05

Api中Controller的Get,Post,Put和Delete

Get:一般用于读取资源

Post:用来添加资源

Put:用来更新资源

Delete:用于删除资源

Api中Controller几大方法重载要注意的

一、方法类型相同,名称不同,个数相同,这种重载不被允许

关于Lind.DDD.Api客户端的使用与知识分享_字段_06

二、方法类型不同,个数相同,这种重载可以

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端_07

三、方法类型不同,个数相同,但名称相同,这种重载不可以

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端_08

 客户端如何调用Api

读取资源

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端_09

添加资源

 

关于Lind.DDD.Api客户端的使用与知识分享_字段_10

更新资源:

 

关于Lind.DDD.Api客户端的使用与知识分享_字段_11

对ResponseMessage的结果按需返回

对于一个对象,一个集合,它在返回到客户端时可能有些信息是无用的,如果把他们返回那就是多余的,造成了不必要的数据传输的损失,所以我们应该按需序列化字段,而不是把方法所有字段都返回到客户端,而返回的字段列表,由客户端的请求参数决定。

 

关于Lind.DDD.Api客户端的使用与知识分享_字段_12

关于Lind.DDD.Api客户端的使用与知识分享_客户端_13

对于ReturnMessage的返回,需要指定要过滤的字段,这些返回到客户端就只有指定的字段了,需要注意的是,我们的每个字段之间需要用逗号分割,这是一个约定。

 

关于Lind.DDD.Api客户端的使用与知识分享_字段_14

对ResponseMessage添加TotalRecords支持分页集合

如果分页返回的数据,我们在前台需要知道集合的所有数量,然后和当前页码及每页显示的数据量来构建我们的模块。

在Body的set块中为TotalRecords属性赋值

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端_15

然后ReturnMessaged在序列化后,将TotalRecords响应到客户端。

 

客户端如何为服务端传输加密密钥

Lind.DDD框架里为我们提供了简单的方式进行密钥串的长成,你只需要将参数到到NameValueCollection键值对里,然后调用密钥生产方法,最后使用它自己的扩展方法ToUrl()来进行最终地址的升成。

 

关于Lind.DDD.Api客户端的使用与知识分享_字段_16

验证成功,返回如下结果

 

关于Lind.DDD.Api客户端的使用与知识分享_客户端_17

当验证不合法时,则返回如下结果

关于Lind.DDD.Api客户端的使用与知识分享_分页_18

而服务端可以通过全局的过滤器对URL地址进行解析,并校验它的合法性!

好了,本讲主要是一些基础知识的介绍,我们在使用webApi开发项目过程中,还会不断的总结。

​回到目录​

作者:仓储大叔,张占岭,
荣誉:微软MVP