回到目录

关于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客户端的使用与知识分享的更多相关文章

  1. Lind.DDD.API核心技术分享

    回到目录 关于Lind.DDD框架里API框架的技术点说明 讲解:张占岭 花名:仓储大叔 主要框架:Lind.DDD 目录 关于Lind.DDD.Authorization 关于授权的原理 关于Api ...

  2. Lind.DDD敏捷领域驱动框架~介绍

    回到占占推荐博客索引 最近觉得自己的框架过于复杂,在实现开发使用中有些不爽,自己的朋友们也经常和我说,框架太麻烦了,要引用的类库太多:之前架构之所以这样设计,完全出于对职责分离和代码附复用的考虑,主要 ...

  3. Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP

    回到目录 .Net MVC之所以发展的如些之好,一个很重要原因就是它公开了一组AOP的过滤器,即使用这些过滤器可以方便的拦截controller里的action,并注入我们自己的代码逻辑,向全局的异常 ...

  4. Lind.DDD.SSO单点登陆组件的使用(原创)

    回到目录 一般sso的说明 在Lind.DDD框架里,有对单点登陆的集成,原理就是各个网站去sso网站统一登陆授权,之后在sso网站将登陆的token进行存储,存储方式随你(cache,redis,m ...

  5. Lind.DDD.RedisClient~对StackExchange.Redis调用者的封装及多路复用技术

    回到目录 两雄争霸 使用StackExchange.Redis的原因是因为它开源,免费,而对于商业化的ServiceStack.Redis,它将一步步被前者取代,开源将是一种趋势,商业化也值得被我们尊 ...

  6. Lind.DDD~实体属性变更追踪器的实现

    回到目录 看着这个标题很复杂,大叔把它拆开说一下,实体属性-变更-追踪器,把它拆成三部分大家看起来就容易懂一些了,实体属性:领域实体里有自己的属性,属性有getter,setter块,用来返回和设置属 ...

  7. Lind.DDD.Repositories.Mongo层介绍

    回到目录 之前已经发生了 大叔之前讲过被仓储化了的Mongodb,而在大叔开发了Lind.DDD之后,决定把这个东西再搬到本框架的仓储层来,这也是大势所趋的,毕竟mongodb是最像关系数据库的NoS ...

  8. Lind.DDD.Events领域事件介绍

    回到目录 闲话多说 领域事件大叔感觉是最不好讲的一篇文章,所以拖欠了很久,但最终还是在2015年年前(阴历)把这个知识点讲一下,事件这个东西早在C#1.0时代就有了,那时学起来也是一个费劲,什么是委托 ...

  9. Lind.DDD.LindAspects方法拦截的介绍

    回到目录 什么是LindAspects 之前写了关于Aspects的文章<Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP>,今天主要在设计思想上进 ...

随机推荐

  1. 《Entity Framework 6 Recipes》中文翻译系列 (9) -----第二章 实体数据建模基础之继承关系映射TPH

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-10 Table per Hierarchy Inheritance 建模 问题 ...

  2. CentOS 7 网络配置

    Virtual box 安装了CentOS 7最小模式后马上用ifconfig命令查看网络情况,发现该命令不存在. [root@centos1 ~]# ifconfig -bash: ifconfig ...

  3. salesforce 零基础学习(五十)自定义View或者List以及查看系统原来的View或者List

    salesforce给我们提供了标准的页面,比如标准的页面包括标准的列表和标准的详细页视图.有的时候我们想要自定义视图,比如做一个项目的时候不希望使用者直接通过ID查看到标准的详细页,而是跳转到指定处 ...

  4. Referenced file contains errors (http://www.springframework.org/schema/context). For more information, right click on the message in the Problems

    spring 配置文件的DTD或schema出问题,一般两种情况: 1.当前网络环境不稳定,按住ctrl+"http://www.springframework.org/schema/con ...

  5. 由ArcMap属性字段自增引出字段计算器使用Python的技巧

    1.前言       前些日子有人问我ArcMap中要让某个字段的值实现自增有什么方法?我首先想到像SQL Server中对于数值型字段可以设置自增.所以我打开ArcCatalog查看发现只提供默认值 ...

  6. 如何使用PHP上传文件,上传图片,php上传教程,php表单文件上传教程

    使用PHP进行文件上传,主要使用到表单功能和PHP内置的$_FILES函数功能.接下来我们看如何实现PHP上传功能.例子效果图,此例子是在Mac下进行调试成功的. PHP上传图片文件的功能代码如下: ...

  7. Oracle 数据库重放(Database Replay)功能演示

    我们可以捕获生产环境的工作量,在测试环境上重放,从而在不影响生产环境的前提下做一些改动测试. 捕获:需要Oracle版本为10.2.0.4或更高. 重放:需要Oracle版本为11g Release ...

  8. 1Z0-053 争议题目解析702

    1Z0-053 争议题目解析702 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 702.View the Exhibit and examine the parameter se ...

  9. 1Z0-053 争议题目解析704

    1Z0-053 争议题目解析704 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 704.View the Exhibit and examine the data manipul ...

  10. JavaMail发送邮件的笔记及Demo

    最近碰到一个需求,就是注册用户时候需要向用户发送激活邮箱,于是照着网上搜来的demo自己试着运行了一下,发件时我用的是网易163邮箱,收件时用QQ邮箱,运行后报了一个错误: 网络上搜索解决方式,多次尝 ...