Hi Nuwan

+1 for the approach. I think this will simplify on how we support multiple
versions on server side. If we adopt it we may only have to ship an
implementation for each major version.

If we can ensure forward compatibility I guess there will be no issue with
this approach otherwise we will see the clients breaking if they try to
access an previous minor version of the same API.

To solve the later case we can mandate clients should send the minor
version they are intend to use with the request ( may be in a header ) so
that server can validate and send a error if that is not supported.

Furthermore will it make sense to have the full version of the API in the
header ?

Thanks & Regards
Jo


[1] http://wso2.com/whitepapers/wso2-rest-apis-design-guidelines/





On Thu, Nov 17, 2016 at 1:50 PM, Nuwan Dias <[email protected]> wrote:

> Hi,
>
> The API Manager REST API [1], [2] follows the semantic versioning
> strategy. It currently requires you to have the Major.Minor versions in the
> URI scheme (/api/am/publisher/v*0.10*). This however is problematic
> because practically, as we add features to the product we need to add new
> resources to the API (backwards compatible API changes) and hence have to
> change the .Minor version of it on every new release.
>
> This results in complications because we have to keep supporting at least
> a few .Minor versions backward on a given product version (support for
> v1.0, v1.1, v1.2). Which means that we have to ship and maintain several
> versions of the JAX-RS (or Microservice) at any given time.
>
> Shall we adopt a strategy where we only mandate the .Major version in the
> URI scheme (/api/am/publisher/v*1*/) and request for the .Minor version
> to be sent as a Header? This will ensure that we don't have to maintain
> several versions of the JAX-RS on a given server runtime and if we need the
> .Minor version for some functionality we look it up from the Header.
>
> [1] - https://docs.wso2.com/display/AM200/apidocs/publisher/
> [2] - https://docs.wso2.com/display/AM200/apidocs/store/
>
> Thanks,
> NuwanD.
>
> --
> Nuwan Dias
>
> Software Architect - WSO2, Inc. http://wso2.com
> email : [email protected]
> Phone : +94 777 775 729
>



-- 

-- 
*Joseph Fonseka*
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 772 512 430
skype: jpfonseka

* <http://lk.linkedin.com/in/rumeshbandara>*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to