1

我正在使用RESTEasy编写WebService的示例,并设置了根资源路径。但是我发现即使url中没有根路径,我仍然可以获得正确的资源。

主要功能代码:

   NettyJaxrsServer netty = new NettyJaxrsServer();
    ResteasyDeployment deploy = new ResteasyDeployment();
    List<Object> resources = new ArrayList<Object>();
    resources.add(new UserService());
    deploy.setResources(resources);
    netty.setDeployment(deploy);
    netty.setPort(8180);
    netty.setRootResourcePath("/hello/");
    netty.setSecurityDomain(null);
    netty.start();

服务代码:

@Path("user")
@Produces(MediaType.APPLICATION_JSON)
public class UserService {

对于代码,url /user 可以正常工作,不需要添加/hello 的根路径。我检查了源代码;它自己添加根路径。

源代码:

public static String getEncodedPathInfo(String path, String contextPath)
{
    if(contextPath != null && !"".equals(contextPath) && path.startsWith(contextPath))
        path = path.substring(contextPath.length());
    return path;
}

我的问题是为什么 RESTEasy 这样做?我无法理解。

4

0 回答 0