I am attempting to deploy two different versions of an api for an application i'm developing on google app engine.
I am very confused by the documentation; there doesn't seem to be a lot of consistency in explanations or examples of how versioning works. (or at least in my opinion).
The particular topic of this question is a passage from this article: https://cloud.google.com/appengine/docs/python/endpoints/test_deploy
When you deploy your backend API, you deploy it to the Cloud project ID you created for your API. This ID is the same one used by App Engine for your backend API. When you deploy, in addition to the App Engine/Cloud Project ID, you must also specify the App Engine version you deploy to. You specify the App Engine/Cloud Project ID in the application field in the app.yamlfile; you specify the application version in the version field. Notice that the App Engine app version is not the same thing as the backend API version number, which you specify in the version argument to the @endpoints.api decorator.
So, now there's this '@endpoints.api' decorator, on top of the version number that allegedly allows you to version your app through the same url. from the same article:
All of the backend API versions deployed to that App Engine app version can be accessed using [the default] URL.
However, no explanation of where this decorator goes, how it works, how you access different apis as specified by this decorator. When I looked up the decorator, it shows up in 'Google Endpoints' and other google services, each of which seem very different from the system used by the app engine.
SO, I don't get it. How can you deploy multiple versions of an api concurrently? what is the @endpoints.api decorator and how do you use it?
Thanks!