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

简介:

关于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开发项目过程中,还会不断的总结。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:关于Lind.DDD.Api客户端的使用与知识分享,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
前端开发 JavaScript API
基于React的简易REST API客户端设计与实现
基于React的简易REST API客户端设计与实现
95 3
|
3月前
|
存储 API Apache
【zookeeper 第三篇章】客户端 API
本文介绍了Apache ZooKeeper客户端的一些常用命令及其用法。首先,`create`命令用于创建不同类型的节点并为其赋值,如持久化节点、有序节点及临时节点等。通过示例展示了如何创建这些节点,并演示了创建过程中的输出结果。其次,`ls`命令用于列出指定路径下的所有子节点。接着,`set`命令用于更新节点中的数据,可以指定版本号实现乐观锁机制。
33 0
|
2月前
|
负载均衡 API 数据安全/隐私保护
Zookeeper的客户端-原生的API
Zookeeper的客户端-原生的API
|
3月前
|
安全 API 网络安全
【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
|
3月前
|
测试技术 编译器 Go
依赖注入与控制反转:优化Go语言REST API客户端
依赖注入与控制反转:优化Go语言REST API客户端
|
3月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
157 0
|
3月前
|
API
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
|
3月前
|
存储 安全 API
【Azure API 管理】在APIM中使用客户端证书验证API的请求,但是一直提示错误"No client certificate received."
【Azure API 管理】在APIM中使用客户端证书验证API的请求,但是一直提示错误"No client certificate received."
|
6月前
|
消息中间件 算法 Java
客户端限流器和服务端API限流器的区别
客户端限流器和服务端API限流器在限流对象、实现方式以及应用场景等方面存在显著差异。客户端限流器主要关注于保护客户端资源和控制客户端行为,而服务端API限流器则更注重于保护服务端系统和确保服务的高可用性。
83 3
|
6月前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
74 11