zoukankan      html  css  js  c++  java
  • 同程旅游网开放平台SDK开发完成

    同程旅游网开放平台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,让你无法使用反射等特性来对给属性赋值。

    ......

    以上总总,总之一句话,各种坑爹了增加xml到对象的转换的难度。

    本人在使用的过程中,力图抹平这些不一致。开发了一整套针对同程网开放平台的sdk。上图。

     

    上图是sdk的整体结构,

    Domain ->实体对象文件夹

    Facade ->接口调用外观层,里面有两个Facade,里面都是静态方法,后面介绍这两个类的具体用法

    Request ->请求参数的封装,封装后的request,将在发送请求到服务端的时候,自动序列化为同程网开放平台接口所需要的xml。

    Response ->返回数据的封装,封装后的response,将直接是对象的形式,你可以尽情地点,然后选择属性,然后就ok了。

    Util->sdk通用的工具类。

     

    上图是接口外观层的封装,都是静态方法,你只需要实例化request,然后设置参数,然后调用外观层方法,就可以得到所要的结果。

     

    上图示范如何使用。现在使用是不是非常之简单哇!

     

    以上两图是quick watch的图片。已经全部包装成对象的形式,和返回的xml基本一致。

     目前以通过大部分测试,有需求的朋友可以联系我,QQ:273673634

    作者:Jackhuclan
    出处:http://jackhuclan.cnblogs.com/ 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     
    分类: Asp.net
  • 相关阅读:
    心跳
    UITableView 总结(一)
    scrollView的contentSize,contentInsert,contentOffset
    如何跟踪论文的作者?
    hadoop与spark执行定时任务,linux执行定时任务
    java.lang.NoSuchMethodError问题处理
    数据挖掘与机器学习的相关理解
    HBASE
    腾讯云ping不通外网
    腾讯云,激活ubuntu root登录,设置ssh
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3293125.html
Copyright © 2011-2022 走看看