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

Reply via email to