[RESTful web services读书笔记] 接口设计中维持XML和JSON表述的兼容性

本文探讨了在分布式客户端/服务器环境中如何维护RESTful服务的兼容性和可扩展性,特别是在需求变化时如何确保服务端XML和JSON表述变更与现有客户端保持兼容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布式的客户端/服务器环境中必然涉及到变更管理,如何维护系统的可扩展性和兼容性?

问题描述:需求是持续变化的,在通常的接口设计中,如何保证服务端XML和JSON表述的变更与现有的客户端保持兼容

解决方案:保持原有的XMl和JSON数据分层结构整体不发生变化,确保客户端按照之前的调用方法可以继续工作

服务端需要把新增的数据元素设计为可选的,以此保持与客户端的兼容性,相对于URI来说,就是URI中添加了新参数时,要继续服务于现有参数,并将新参数视为可选

不要修改删除原有的响应正文表述的数据域

 PS:

REST架构风格的最主要驱动是分布性和扩展性。RESTful HTTP接口的设计是由网络因素而非编程语言的绑定驱动的

参考:RESTful web services Cookbook 中文版

 

ps 后记

这篇文章提到了兼容性设计的重点,对原有设计的扩充和维护是一件很困难的事,因为原有系统还在运行,所以你只能做扩充,不能做改造,改造的风险巨大且未知

这样一来代码结构,数据库设计,等都会出现混乱和复杂。比如代码风格不统一,随意的增加和补充,数据库字段冗余,很多字段不知道是否在实际业务中还在使用,是否在维护

2013-02-02 补充

 

转载于:https://www.cnblogs.com/needrunning/archive/2012/12/09/2810431.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值