關于Lind.DDD.Api客戶端的(de)使用與知識分享(xiang)
關于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
添(tian)加全局過濾(lv)器之后,再訪問API之后就被響應成(cheng)JSON串了
Api中Controller的Get,Post,Put和Delete
Get:一般用于讀取資源
Post:用來添加資(zi)源
Put:用來(lai)更新資源
Delete:用于刪(shan)除(chu)資源
Api中Controller幾大方法重載要注意的
一、方法類型相同,名稱不同,個數相同,這種(zhong)重載不(bu)被(bei)允許
二、方法類型不同,個數相同,這種重載可以
三、方法類型不同,個數相同,但名稱相同,這種重(zhong)載不(bu)可以
客戶端如何調用Api
讀取資源
添加資源
更新資源:
對ResponseMessage的結果按需返回
對于(yu)一個對象,一個集合,它在返(fan)回到客(ke)戶(hu)端時可能(neng)有些信息是(shi)無用(yong)的(de)(de)(de),如(ru)果把他們返(fan)回那就(jiu)是(shi)多余的(de)(de)(de),造成了不(bu)必要(yao)的(de)(de)(de)數(shu)據傳(chuan)輸的(de)(de)(de)損失,所(suo)以我們應該(gai)按需序列化字段(duan),而不(bu)是(shi)把方法所(suo)有字段(duan)都返(fan)回到客(ke)戶(hu)端,而返(fan)回的(de)(de)(de)字段(duan)列表,由客(ke)戶(hu)端的(de)(de)(de)請(qing)求參數(shu)決定。
對于ReturnMessage的返(fan)回,需要(yao)指(zhi)定(ding)要(yao)過濾(lv)的字(zi)段(duan),這些返(fan)回到客戶端就只有指(zhi)定(ding)的字(zi)段(duan)了,需要(yao)注意的是,我們的每個(ge)字(zi)段(duan)之(zhi)間需要(yao)用逗號分割,這是一個(ge)約定(ding)。
對ResponseMessage添加TotalRecords支持分頁集合
如果分頁返回的(de)數(shu)(shu)據(ju),我們(men)(men)在(zai)前臺(tai)需要知道(dao)集合的(de)所(suo)有數(shu)(shu)量(liang),然后和當前頁碼及每頁顯示的(de)數(shu)(shu)據(ju)量(liang)來構建(jian)我們(men)(men)的(de)模(mo)塊。
在Body的set塊中為TotalRecords屬(shu)性(xing)賦值
然后ReturnMessaged在序(xu)列化后,將TotalRecords響應到客(ke)戶(hu)端。
客戶端如何為服務端傳輸加密密鑰
Lind.DDD框(kuang)架里(li)為我們提供了簡單(dan)的(de)(de)方式進行密(mi)鑰串的(de)(de)長成(cheng),你只需要將參數到到NameValueCollection鍵值對里(li),然后調(diao)用密(mi)鑰生產(chan)方法(fa),最后使用它自己的(de)(de)擴展方法(fa)ToUrl()來進行最終地址的(de)(de)升成(cheng)。
驗證(zheng)成功,返回如下結果
當驗(yan)證不(bu)合法時,則(ze)返回如(ru)下結(jie)果(guo)
而服務端可(ke)以通過全局的過濾器(qi)對URL地(di)址進行解(jie)析,并校驗它的合法性!
好了,本講主要是一些基礎知識的介紹,我們在使用webApi開發項目過程(cheng)中,還(huan)會不斷的總(zong)結(jie)。