亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于http的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法

文檔序號(hào):10473796閱讀:971來(lái)源:國(guó)知局
一種基于http的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,屬于計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,基于HTTP/REST協(xié)議的實(shí)現(xiàn)方式,利用結(jié)構(gòu)簡(jiǎn)單,標(biāo)準(zhǔn)化,容易解析的Json格式數(shù)據(jù)作為接口中數(shù)據(jù)傳遞的載體;通過(guò)實(shí)體類(lèi)反射方式實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換;利用先進(jìn)的泛型技術(shù),統(tǒng)一封裝以兼容不同的實(shí)體類(lèi)型。本發(fā)明接口采用基于HTTP的Post請(qǐng)求+Json數(shù)據(jù)格式的接口實(shí)現(xiàn)方式,在保證了Webservice兼容性、易于部署等有點(diǎn)的前提下,對(duì)數(shù)據(jù)的傳輸量已經(jīng)對(duì)系統(tǒng)資源的占用量進(jìn)一步優(yōu)化,并提高了接口的響應(yīng)速度。
【專(zhuān)利說(shuō)明】
一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,具體地說(shuō)是一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法。
【背景技術(shù)】
[0002]在企業(yè)ERP業(yè)務(wù)系統(tǒng)中不同業(yè)務(wù)模塊的系統(tǒng)可能采購(gòu)自不同廠(chǎng)商的產(chǎn)品,但是基于企業(yè)管理的需求,不同業(yè)務(wù)系統(tǒng)不可避免的會(huì)出現(xiàn)系統(tǒng)基礎(chǔ)數(shù)據(jù)的共享以及業(yè)務(wù)數(shù)據(jù)的同步與分析。因不同廠(chǎng)商之間系統(tǒng)架構(gòu)的不同,系統(tǒng)數(shù)據(jù)之間的集成多采用傳統(tǒng)的Webservice技術(shù)實(shí)現(xiàn)。然而Webservice技術(shù)采用XML作為數(shù)據(jù)的傳輸,數(shù)據(jù)占用帶寬資源較大。服務(wù)器與客戶(hù)端互相解析XML數(shù)據(jù)的過(guò)程中占用計(jì)算機(jī)資源較多,WebService方式在首次訪(fǎng)問(wèn)時(shí)速度較慢。

【發(fā)明內(nèi)容】

[0003]
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,來(lái)解決W e b s e r V i c e技術(shù)數(shù)據(jù)占用帶寬資源較大的問(wèn)題。本接口采用基于H T T P的Post請(qǐng)求+Json數(shù)據(jù)格式的接口實(shí)現(xiàn)方式,在保證了Webservice兼容性、易于部署等有點(diǎn)的前提下,對(duì)數(shù)據(jù)的傳輸量已經(jīng)對(duì)系統(tǒng)資源的占用量進(jìn)一步優(yōu)化,并提高了接口的響應(yīng)速度。
[0004]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,
基于HTTP/REST協(xié)議的實(shí)現(xiàn)方式,利用結(jié)構(gòu)簡(jiǎn)單,標(biāo)準(zhǔn)化,容易解析的Json格式數(shù)據(jù)作為接口中數(shù)據(jù)傳遞的載體;
通過(guò)實(shí)體類(lèi)反射方式實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換;
利用先進(jìn)的泛型技術(shù),統(tǒng)一封裝以兼容不同的實(shí)體類(lèi)型。
[0005]進(jìn)一步的,通過(guò)反射、泛型、自定義特性技術(shù)實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換。
[0006]進(jìn)一步的,采用壓縮的Json格式數(shù)據(jù)進(jìn)行接口之間的數(shù)據(jù)傳遞,減低帶寬占用量。
[0007]服務(wù)端方法:
服務(wù)端為Asp.net WebApplicat1n項(xiàng)目,新建WebApi工程,根據(jù)自己的業(yè)務(wù)需求實(shí)現(xiàn)相關(guān)增刪改查操作,并通過(guò)繼承ApiControl Ier類(lèi)實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的對(duì)外發(fā)布。
[0008]客戶(hù)端如果是Web應(yīng)用,可采用Ajax方式直接調(diào)用。如果.Net平臺(tái)下的WinForm應(yīng)用,本接口專(zhuān)門(mén)封裝了相關(guān)實(shí)現(xiàn)。
[0009]本發(fā)明的一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法和現(xiàn)有技術(shù)相比,具有以下有益效果:
本發(fā)明本接口采用基于HTTP的Post請(qǐng)求+Json數(shù)據(jù)格式的接口實(shí)現(xiàn)方式,在保證了Webservice兼容性、易于部署等有點(diǎn)的前提下,對(duì)數(shù)據(jù)的傳輸量已經(jīng)對(duì)系統(tǒng)資源的占用量進(jìn)一步優(yōu)化,并提高了接口的響應(yīng)速度。
【附圖說(shuō)明】
[0010]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明。
[0011]附圖1為本發(fā)明基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)的流程圖。
【具體實(shí)施方式】
[0012]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0013]本發(fā)明的一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,步驟和內(nèi)容如下:
一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,
基于HTTP/REST協(xié)議的實(shí)現(xiàn)方式,利用結(jié)構(gòu)簡(jiǎn)單,標(biāo)準(zhǔn)化,容易解析的Json格式數(shù)據(jù)作為接口中數(shù)據(jù)傳遞的載體;
通過(guò)實(shí)體類(lèi)反射方式實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換;
利用先進(jìn)的泛型技術(shù),統(tǒng)一封裝以兼容不同的實(shí)體類(lèi)型。
[0014]通過(guò)反射、泛型、自定義特性技術(shù)實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換。
[0015]采用壓縮的Json格式數(shù)據(jù)進(jìn)行接口之間的數(shù)據(jù)傳遞,減低帶寬占用量。
[0016]1.服務(wù)端新建Asp.net WebApi工程,按附錄I的方式實(shí)現(xiàn)相關(guān)方法,并發(fā)布部署到IIS等服務(wù)器上。
[0017]2、客戶(hù)端按照附錄2的方式實(shí)現(xiàn)相關(guān)方法,傳入正確的Url地址,可訪(fǎng)問(wèn)服務(wù)端接
□ O
[0018]I )、服務(wù)端方法:
服務(wù)端為Asp.net WebApplicat1n項(xiàng)目,新建WebApi工程,根據(jù)自己的業(yè)務(wù)需求實(shí)現(xiàn)相關(guān)增刪改查操作,并通過(guò)繼承ApiControl Ier類(lèi)實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的對(duì)外發(fā)布。
[0019]服務(wù)端實(shí)現(xiàn)示例:
III <summary)
III 客戶(hù)WebApi接口需集成ApiControlIer III </summary)
public class CustomerController: ApiController
{
III <summary)
III獲取全部數(shù)據(jù) III </summary)
III <returns>Json串〈/returns〉public string Get()
{
List〈customer> CustomerList = myDataBase<customer>.GetAllList
0;
return JsonConvert.SerializeObject(CustomerList);
}
III <summary)Ill根據(jù)主鍵獲取數(shù)據(jù)III </summary)
III〈param name=,,id?>主鍵〈/param>
III〈returns〉Json串〈/returns) public string Get(string id)
{
object myobj = myDataBase<customer>.GetObject(id);return JsonConvert.SerializeObject(myobj);
}
III <summary)
/// Post請(qǐng)求保存數(shù)據(jù) III </summary)
III〈param name=〃obj 〃>〈/param>public string Post(customer obj)
{
return myDataBase<customer>.save(obj);
}
III <summary)
///更新方法
III</summary)
III〈param name=,,id?>主鍵〈/param>
III〈param name^obj,待更親jf的對(duì)象〈/param>public string Put(string id, customer obj)
{
return myDataBase<customer>.Update(id,obj);
}
/// <summary)
///根據(jù)主鍵刪除/// </summary)
///〈param name=,,id?>主鍵〈/param>
///〈returnsX/returns) public string Delete(string id)
{
return myDataBase<customer>.delete(id);
}
}
2)、客戶(hù)端如果是Web應(yīng)用,可采用Ajax方式直接調(diào)用。如果.Net平臺(tái)下的WinForm應(yīng)用,本接口專(zhuān)門(mén)封裝了相關(guān)實(shí)現(xiàn)。
[0020]客戶(hù)端調(diào)用方法:public class ReponseffebApi<T>
{
public List〈T> GetList<T>(string url)
{
HttpClient client = new HttpClient();//聲明HttpClient對(duì)象 HttpResponseMessage response = client.GetAsync(url).Result; if (response.1sSuccessStatusCode)
{
string content = response.Content.ReadAsStringAsync().Result;
//如果請(qǐng)求成功則返回請(qǐng)求內(nèi)容,并序列號(hào)為對(duì)象
return JsonConvert.DeserializeObject<List<T>>(content);
}
else
return null;
}
public bool Save<T>(string url, T obj)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = client.PostAsJsonAsync(url,
obj).Result;
return response.1sSuccessStatusCode;
}
public bool Update(string url, T obj)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = client.PostAsJsonAsync(url,
obj).Result;
return response.1sSuccessStatusCode;
}
public bool Delete(string url)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = client.PostAsJsonAsync(url,
obj).Result;
return response.1sSuccessStatusCode;
}
}
通過(guò)上面【具體實(shí)施方式】,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的【具體實(shí)施方式】。在公開(kāi)的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
[0021]除說(shuō)明書(shū)所述的技術(shù)特征外,均為本專(zhuān)業(yè)技術(shù)人員的已知技術(shù)。
【主權(quán)項(xiàng)】
1.一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,其特征在于, 基于HTTP/REST協(xié)議的實(shí)現(xiàn)方式,利用結(jié)構(gòu)簡(jiǎn)單,標(biāo)準(zhǔn)化,容易解析的Json格式數(shù)據(jù)作為接口中數(shù)據(jù)傳遞的載體; 通過(guò)實(shí)體類(lèi)反射方式實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換; 利用先進(jìn)的泛型技術(shù),統(tǒng)一封裝以兼容不同的實(shí)體類(lèi)型。2.根據(jù)權(quán)利要求1所述的一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,其特征在于通過(guò)反射、泛型、自定義特性技術(shù)實(shí)現(xiàn)實(shí)體類(lèi)與Json格式數(shù)據(jù)的轉(zhuǎn)換。3.根據(jù)權(quán)利要求1所述的一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,其特征在于采用壓縮的Json格式數(shù)據(jù)進(jìn)行接口之間的數(shù)據(jù)傳遞,減低帶寬占用量。4.根據(jù)權(quán)利要求1所述的一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,其特征在于服務(wù)端為Asp.net WebApplicat1n項(xiàng)目,新建WebApi工程,根據(jù)自己的業(yè)務(wù)需求實(shí)現(xiàn)相關(guān)增刪改查操作,并通過(guò)繼承ApiControl Ier類(lèi)實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的對(duì)外發(fā)布。5.根據(jù)權(quán)利要求1所述的一種基于HTTP的數(shù)據(jù)交互接口實(shí)現(xiàn)與訪(fǎng)問(wèn)方法,其特征在于客戶(hù)端是Web應(yīng)用,則采用Ajax方式直接調(diào)用。
【文檔編號(hào)】H04L29/08GK105827703SQ201610155393
【公開(kāi)日】2016年8月3日
【申請(qǐng)日】2016年3月18日
【發(fā)明人】柏明昌
【申請(qǐng)人】浪潮通用軟件有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1