同程旅遊網開放平臺SDK開發完成

落葉瀟瀟雨發表於2013-08-31

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

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

 

相關文章