加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 向WebService添加字段

发布时间:2020-12-15 08:29:33 所属栏目:Java 来源:网络整理
导读:我有一个暴露方法的SOAP服务 TradeDetail getTradeDetail() TradeDetail存储5个字段,交易编号,日期等 我需要在TradeDetail中添加几个字段.我想保持向后兼容性(暂时),看起来我的选项仅限于创建一个带有额外字段的新类 TradeDetail2 getTradeDetail2() 现在这
我有一个暴露方法的SOAP服务

TradeDetail getTradeDetail()

TradeDetail存储5个字段,交易编号,日期等

我需要在TradeDetail中添加几个字段.我想保持向后兼容性(暂时),看起来我的选项仅限于创建一个带有额外字段的新类

TradeDetail2 getTradeDetail2()

现在这将有效 – 我以前做过.但是,人们使用过其他解决方案吗?

例如.

>从根本上改变TradeDetail2以添加名称值对.
>从TradeDetail继承TradeDetail2,这会减少代码但会增加耦合
>改为返回XML或JSON

我将能够很快退出原始界面,因此代码将被清理,额外的TradeDetail2将永远不会持续!

谢谢

解决方法

我很同情 – 我的一些web服务充斥着myMethod(),myMethod2(),myMethod3()等,因为我需要添加一些新字段.

您是否有意识保留方法名称并为每个API版本创建新的端点?例如:

> http://my.domain.com/servicename/v1
> http://my.domain.com/servicename/v1.1
> http://my.domain.com/servicename/v1.5
> http://my.domain.com/servicename/v2

然后,无论您需要进行多少未来的更改,您的方法名称都会保持合理.

任何使用您的Web服务的应用程序都可能需要针对新的WSDL进行重写和/或重建,以便利用新字段,所以为什么不在新的v1.1 API上重写/重建它们.

我发现使用您的服务与应用程序的所有者/开发人员进行通信时也会有所帮助 – 例如,[日期]之后将不再支持我们的Web服务API的版本[旧],请确保您至少使用版本[新].”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读