同程旅游網開放平台SDK開發完成


最近利用業余時間,使用了同程旅游網的開放平台,並對大部分的方法進行了調用,發現有很多不好用的地方,比如

1.同一個開放平台居然有幾個調用地址,景區調用http://tcopenapi.17usoft.com/handlers/scenery/queryhandler.ashx ,酒店調用http://tcopenapi.17usoft.com/handlers/hotel/QueryHandler.ashx

2.只能返回xml格式,在現在大多數平台可以返回json的情況下,居然只能返回xml,而且還不能直接反序列化為對象。除非自己實現這個反序列化的過程。

3.錯誤信息提示不夠充分,無處可以查詢詳細信息。

4.客戶端調用非要傳入clientIp,哪怕是127.0.0.1都可以,實在不明白這樣做有和意義。

5. 實體對象不一致,同一個對象,不同接口返回的xml用不同的tag,讓你無法使用反射等特性來對給屬性賦值。

......

以上總總,總之一句話,不好用。

 

本人在使用的過程中,力圖抹平這些不一致。開發了一整套針對同程網開放平台的sdk。上圖。

 

上圖是sdk的整體結構,

Domain ->實體對象文件夾

Facade ->接口調用外觀層,里面有兩個Facade,里面都是靜態方法,后面介紹這兩個類的具體用法

Request ->請求參數的封裝,封裝后的request,將在發送請求到服務端的時候,自動序列化為同程網開放平台接口所需要的xml。

Response ->返回數據的封裝,封裝后的response,將直接是對象的形式,你可以盡情地點,然后選擇屬性,然后就ok了。

Util->sdk通用的工具類。

 

 

上圖是接口外觀層的封裝,都是靜態方法,你只需要實例化request,然后設置參數,然后調用外觀層方法,就可以得到所要的結果。

 

 

上圖示范如何使用。現在使用是不是非常之簡單哇!

 

 

 

 

以上兩圖是quick watch的圖片。已經全部包裝成對象的形式,和返回的xml基本一致。


 鑒於很多朋友找我要sdk,特開放源碼下載,如有問題請自行修改並測試

bin:http://files.cnblogs.com/jackhuclan/tcsdk.rar

sourcecode:http://files.cnblogs.com/jackhuclan/tcsdk_sourcecode.zip

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM