One more thing, we are going to rename javax.rs.* annotations to
org.wso2.msf4j.annotations.* to avoid confusing MSF4J annotations with
JAXRS annotations.

On Tue, Mar 29, 2016 at 11:25 AM, Afkham Azeez <[email protected]> wrote:

> Why don't you pass the relevant information in the HTTP payload? You can
> define a Java bean that contains all the information you need to pass and
> then use that as a method parameter.
>
> On Tue, Mar 29, 2016 at 10:49 AM, Himasha Guruge <[email protected]>
> wrote:
>
>> 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]
>>
>
>
>
> --
> *Afkham Azeez*
> Director of Architecture; WSO2, Inc.; http://wso2.com
> Member; Apache Software Foundation; http://www.apache.org/
> * <http://www.apache.org/>*
> *email: **[email protected]* <[email protected]>
> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: *
> *http://blog.afkham.org* <http://blog.afkham.org>
> *twitter: **http://twitter.com/afkham_azeez*
> <http://twitter.com/afkham_azeez>
> *linked-in: **http://lk.linkedin.com/in/afkhamazeez
> <http://lk.linkedin.com/in/afkhamazeez>*
>
> *Lean . Enterprise . Middleware*
>



-- 
*Afkham Azeez*
Director of Architecture; WSO2, Inc.; http://wso2.com
Member; Apache Software Foundation; http://www.apache.org/
* <http://www.apache.org/>*
*email: **[email protected]* <[email protected]>
* cell: +94 77 3320919blog: **http://blog.afkham.org*
<http://blog.afkham.org>
*twitter: **http://twitter.com/afkham_azeez*
<http://twitter.com/afkham_azeez>
*linked-in: **http://lk.linkedin.com/in/afkhamazeez
<http://lk.linkedin.com/in/afkhamazeez>*

*Lean . Enterprise . Middleware*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to