REST API设计和更改"合同"?

Djo*_*vic 4 java api rest

我正在设计RESTful API.结果将采用JSON对象的形式.我不需要将我的POJO类中的所有字段发送到客户端,因此我应该定义某种"合同".

假设我有一个Property类,我为它定义了id,name和address.后来,我可能想要在不影响客户端的情况下将地址更改为geoData.

有没有一些优雅的方式(模式)来做到这一点?

Rud*_*udy 7

为REST设计创建版本.当您开始创建新实现时,请使用新URI来定义它.例如,使用类似参数创建新URI,版本不同:

  • OLD实现/ ver1/retrieve/user(仍在维护中)
  • 新实现/ ver2/retrieve/user

通过这样做,客户端仍然能够检索具有旧实现的用户而没有任何问题.但是,当您决定再次更改实现时,最好冻结旧版本的API(例如,在实现v3 API时,您应该通知客户端将不再支持旧版本1 API)

更多信息可以在这里找到 :

如何版本REST URI

版本化的宁静服务