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 がこれを行うのですか? 理解できません。