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