soap - How do you create backwards compatible JAX-RS and JAX-WS APIs? -


jax-rs , jax-ws great producing api. however, don't address concern of backwards compatibility @ all.

in order avoid breaking old client when new capabilities introduced api, have accept , provide exact same input , output format did before; many of xml , json parsers out there seem have fit if find field doesn't map anything, or has wrong type.

some json libraries out there, such jackson , gson, provide feature can specify different input/output representation given object based on runtime setting, seems suitable way handle versioning many cases. makes possible provide backwards compatibility annotating added , removed fields appear according version of api in use client.

neither jaxb nor other xml databinding library have found date has decent support concept, nevermind being able re-use same annotations both json , xml. adding jaxb-ri or eclipselink moxy seems potentially possible, daunting.

the other approach versioning seems to version classes have changed, creating new package each time api published , making copies of modified dto, service, , resource classes in new package type information versioned binding , dispatch systems. approach seems more laborious me.

my question is: how have designed jave api providers backwards compatibility? worked, didn't?

links case studies or blog posts on subject appreciated; i've done googling haven't been finding discussion of this.

i'm tech lead eclipselink moxy, i'm interested in versioning requirements. can reach me through blog:

moxy offers means represent jaxb metadata xml file. can leverage create multiple mappings same object model:


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -