← Back to team overview

dhis2-devs-core team mailing list archive

API Versioning

 

Hi everyone

I have now introduced API versioning in the web-api, for now, all our
endpoints are mapped to /, /23 and /24, which means that your clients
already can target 2.24 specifically.

I think we need a more fine tuned approach to this, and it is something
maybe we can discuss at the dev call tomorrow.

Please be aware that we are not introducing DTOs in this release, so
changes to the domain layer will affect -all- versions of the API (unless
we are using DTOs as is the case for tracker), and yes, this includes the
exported schema.

The annotation used is called @Api, and can be applied both to types and
methods, for now the controllers are type annotated with:
@Api( { Api.Version.DEFAULT, Api.Version.ALL } )

Which means all available versions + default (which is just /). In many
ways, the default could also be called legacy (we probably want people to
only target specific API versions in the future).

-- 
Morten Olav Hansen
Senior Engineer, DHIS 2
University of Oslo
http://www.dhis2.org

Follow ups