Hi Nirmal IMO we should have version number in war since we will be shipping fixes which means a new war. And changing the context is also not good because then client has to changed. So I think the third option is the best if it works.
Thanks Jo On Sat, Aug 15, 2015 at 9:16 PM, Thilini Cooray <[email protected]> wrote: > Hi Nirmal, > > Thanks for the suggestion. We are looking in to the most suitable approach > to version the API. As you have mentioned, it would be a better approach if > we can direct the requests to the latest API version. I will look into it. > > On Sat, Aug 15, 2015 at 11:16 AM, Nirmal Fernando <[email protected]> wrote: > >> Any particular reason for having a war file per version? Much better >> approach would be to version the API classes. That way you could get all >> traffic without an explicit version on to the latest available REST API. >> You need to embed version info into API classes. >> >> https://developer.github.com/v3/ Github api is a good reference to >> check. >> >> On Sat, Aug 15, 2015 at 10:17 AM, Sanjeewa Malalgoda <[email protected]> >> wrote: >> >>> +1 for option 02. >>> On Aug 15, 2015 10:01 AM, "Thilini Cooray" <[email protected]> wrote: >>> >>>> Hi, >>>> >>>> We need to version a webapp which contains RESTful APIs. >>>> This webapp will be deployed in WSO2 Api Manager. >>>> >>>> Following are 3 approaches I found for the purpose : >>>> >>>> 1. Make war name as <warName>${project.artifactId}-${pom.version}</ >>>> warName> which will output webappName-version.war >>>> >>>> Its endpoint address is http://HostName:port >>>> /webappName-version/ >>>> Ex : https://localhost:9443/api-import-export-1.0.0/ >>>> >>>> 2. Make war name as <warName> >>>> ${project.artifactId}#${pom.version}</warName> which will output >>>> webappName#version.war >>>> >>>> This will allow Tomcat server to identify versions of the >>>> web app. >>>> Its endpoint address is http://HostName:port/ >>>> webappName/version/ >>>> Ex : https://localhost:9443/api-import-export/1.0.0/ >>>> <https://localhost:9443/api-import-export-1.0.0/> >>>> >>>> WSO2 Application Server follows this approach [1]. >>>> >>>> 3. Apache tomcat consists of another approach using "##" for >>>> context naming [2]. >>>> That approach needs to make war name as <warName> >>>> ${project.artifactId}##${pom.version}</warName> which will output >>>> webappName##version.war >>>> >>>> Its endpoint address is http://HostName:port/webappName/ >>>> This will use the latest version. >>>> Ex : https://localhost:9443/api-import-export/ >>>> <https://localhost:9443/api-import-export-1.0.0/> >>>> However this naming convention cannot be deployed in WSO2 >>>> Api Manager. It returns AbstractWebappDeployer Unsupported file path >>>> format. >>>> >>>> What is the best approach to follow when versioning the webapp ? >>>> >>>> [1] https://docs.wso2.com/display/AS521/Webapp+Versioning >>>> [2] http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming >>>> >>>> Thanks, >>>> ThiliniC. >>>> >>>> -- >>>> Best Regards, >>>> >>>> *Thilini Cooray* >>>> Software Engineer >>>> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194> >>>> E-mail : [email protected] >>>> >>>> WSO2 Inc. www.wso2.com >>>> lean.enterprise.middleware >>>> >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> >> Thanks & regards, >> Nirmal >> >> Team Lead - WSO2 Machine Learner >> Associate Technical Lead - Data Technologies Team, WSO2 Inc. >> Mobile: +94715779733 >> Blog: http://nirmalfdo.blogspot.com/ >> >> >> > > > -- > Best Regards, > > *Thilini Cooray* > Software Engineer > Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194> > E-mail : [email protected] > > WSO2 Inc. www.wso2.com > lean.enterprise.middleware > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- -- *Joseph Fonseka* WSO2 Inc.; http://wso2.com lean.enterprise.middleware mobile: +94 772 512 430 skype: jpfonseka * <http://lk.linkedin.com/in/rumeshbandara>*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
