Lin Gao created WFLY-12025:
------------------------------
Summary: :read-resource operation of jax-rs subsystem doesn't handle all
interfaces
Key: WFLY-12025
URL:
https://issues.jboss.org/browse/WFLY-12025
Project: WildFly
Issue Type: Bug
Components: REST
Reporter: Lin Gao
Assignee: Lin Gao
Fix For: 16.0.0.Beta1, 16.0.0.Final
_:read-resource_ operation of jax-rs subsystem doesn't handle interfaces, where
end-point path is defined on interface
Steps to reproduce:
# {code:java}
@Path("pure/proxy")
public interface PureProxyApiService {
@Path("test/{a}/{b}")
@GET
String test(@PathParam("a") String a, @PathParam("b") String b);
}
public class PureProxyEndPoint implements PureProxyApiService {
@Override
public String test(@PathParam("a") String a, @PathParam("b")
String b) {
return a + b;
}
}
{code}
# _/deployment=DEPLOYMENT_NAME/subsystem=jaxrs:read-resource(recursive,include-runtime)_
# Output:
{noformat}
"org.resteasy.simple.deployment.PureProxyEndPoint" => {
"resource-class" =>
"org.resteasy.simple.deployment.PureProxyEndPoint",
"rest-resource-paths" => undefined,
"sub-resource-locators" => undefined
}
{noformat}
# If class has \@Path annotation, _read-resource_ operation works correctly
# {code:java}public interface ProxyApiService {
@Path("test/{a}/{b}")
@GET
String test(@PathParam("a") String a, @PathParam("b") String b);
}
@Path("proxy")
public class ProxyEndPoint implements ProxyApiService {
@Override
public String test(@PathParam("a") String a, @PathParam("b")
String b) {
return a + b;
}
}
{code}
# {noformat} "org.resteasy.simple.deployment.ProxyEndPoint" => {
"resource-class" =>
"org.resteasy.simple.deployment.ProxyEndPoint",
"rest-resource-paths" => [{
"resource-path" => "proxy/test/{a}/{b}",
"consumes" => undefined,
"produces" => undefined,
"java-method" => "java.lang.String
org.resteasy.simple.deployment.ProxyEndPoint.test(@PathParam java.lang.String a,
@PathParam java.lang.String b)",
"resource-methods" => ["GET
/jaxrs-wf/proxy/test/{a}/{b}"]
}],
"sub-resource-locators" => undefined
}
{noformat}
cc [~gaol]
--
This message was sent by Atlassian Jira
(v7.12.1#712002)