How do you manage API versioning?

Not applicable

I watched the video on creating a Console To-Go.

I saw how, with WADL, you can assist developer usage and auto-generate documentation for your own web site.

I did not see how you manage different versions of backend APIs.

What do you do when there is a new version of the API? Do you just create a whole new proxy?

Solved Solved
0 4 1,573
1 ACCEPTED SOLUTION

Not applicable

If you want to make more than one versions of your APIs co-exist in Apigee layer you need to add another proxy.xml in the present application-bundle, with a new context path (basepath in apigee terms) however. E.g.,

/v1/customers

/v2/customers

When there are multiple backend versions you can do the following

  1. Have more than one target.xml, each for a specific backend. The backend specific transformation policies should also be placed in the respective target.xml file.
  2. Route requests from your proxy.xml to matching target.xml based on conditional routing rules.

View solution in original post

4 REPLIES 4

Not applicable

If you want to make more than one versions of your APIs co-exist in Apigee layer you need to add another proxy.xml in the present application-bundle, with a new context path (basepath in apigee terms) however. E.g.,

/v1/customers

/v2/customers

When there are multiple backend versions you can do the following

  1. Have more than one target.xml, each for a specific backend. The backend specific transformation policies should also be placed in the respective target.xml file.
  2. Route requests from your proxy.xml to matching target.xml based on conditional routing rules.

Hi, doesn't this conflict with the Antipattern: Define multiple ProxyEndpoints in an API proxy?

https://docs.apigee.com/api-platform/antipatterns/multiple-proxyendpoints

This is to support for a particular time frame. You can also create separate proxy as well. If you have separate basepath same proxy with multiple revisions can be deployed.

Slides

2 years ago i gave a presentation about one of the ways we have done versioning