Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.7.3, 2.7.5
-
None
-
Unknown
Description
We have a resource method declared as below.
@Path("/books")
@Produces(
)
Book searchBook(@QueryParam("") Book book) throws ServiceException;
Here the query param can be any combination of property of the book bean which are searchable.
When we construct the URL with appropriate query string and use the web client, it works fine.
But it does not work when some one is using the proxy based approach where the client get hold of the interface for e.g BookStoreResourceI and try to get call the searchBook(Book b) method on that resource interface.
When debug found that, the client side conversion for cases like @QueryParam("")
@PathParam(""), @MatrixParam("") are missing and its being implemented in the JAXRSInvoker.invoke operation just before invoking the resource API/method.
We need to have this feature of conversion from these parameter types to actual URL so that irrespective of which type of client is consuming your service, it will work. Otherwise it will become a half baked client consumption model.