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() 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. 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]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
