Hi Hasitha, Thanks for the provided suggestions. I tested the suggested approaches and we can go ahead with HttpRequest injection and the usage of @QueryParam.
Regards, Himasha On Fri, Mar 25, 2016 at 11:02 AM, Hasitha Aravinda <[email protected]> wrote: > Hi team, > > Please find my comments inline. > > On Fri, Mar 25, 2016 at 10:27 AM, Himasha Guruge <[email protected]> > wrote: > >> Hi All, >> >> I'm in the process of rewriting our existing BPMN REST API for C5, with >> msf4j in place. While checking the used annotations in the code, I came >> across the use of @Context annotation in order to inject UserInfo [1] >> interface which provides access to application and request URI >> information. We have used following two methods of this interface >> throughout the code. >> >> (1) QueryParameters() >> (2) getBaseUri() >> > > Do we have an equlent for > > uriInfo.getBaseUri in MSF4J supported annotation ? Can't we use > io.netty.handler.codec.http.HttpRequest.getUri() > > > ? > > > I tested if it's possible to inject UriInfo interface in msf4j by >> deploying a simple microservice sample (which uses @Context UriInfo info) >> which failed with an error in executing the request, which means the >> injection of it is not possible with current msf4j implementation. [2] >> >> In [2] it is mentioned that there is @QueryParam annotation support in >> msf4j which we can use alternatively where we would have to pass the query >> parameter to the method in the same way we use @PathParam. See usage in [3]. >> >> However, issues arise in following scenarios. >> >> For example, In ModelService[4] we have a large range of allowed query >> params (name,nameLike,category,categoryLike etc) for a method, and based on >> the query params that the user has passed (by using >> uriInfo.getQueryParameters()) we process the request accordingly. In such >> a case if we are to use @ >> >> QueryParam it would mean we would have to pass all possible query >> parameters (Around 15) to the method. >> > > I think this is should be ok. > > >> >> > Also, we have used >> >> uriInfo.getBaseUri() method throughout as well. >> >> How are we going to proceed with this? Appreciate your suggestions on >> this. >> >> [1] >> https://jsr311.java.net/nonav/releases/1.1/javax/ws/rs/core/UriInfo.html >> >> [2] >> https://docs.wso2.com/display/MSF4J100/Key+Concepts#KeyConcepts-Supportedannotations >> >> [3] http://www.mkyong.com/webservices/jax-rs/jax-rs-queryparam-example/ >> >> [4] >> https://github.com/wso2/carbon-business-process/blob/de4d3ca5a2c3d670dcbf07ee6b58f0afd9489e95/components/bpmn/org.wso2.carbon.bpmn.rest/src/main/java/org/wso2/carbon/bpmn/rest/service/repository/ModelService.java#L98 >> >> Regards, >> >> Himasha Guruge >> *Software Engineer* >> WS*O2* *Inc.* >> Mobile: +94 777459299 >> [email protected] >> > > Thanks, > Hasitha. > > > > > -- > -- > Hasitha Aravinda, > Senior Software Engineer, > WSO2 Inc. > Email: [email protected] > Mobile : +94 718 210 200 > -- Himasha Guruge *Software Engineer* WS*O2* *Inc.* Mobile: +94 777459299 [email protected]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
