我正在开发一个依赖于核心库的应用程序,可以将多个模块作为Web片段。该应用程序在Tomcat上运行并公开Jersey 2.7 WS。
在核心库中,有一个应用程序定义,以及专用包中的几个(核心)资源:
@ApplicationPath("/a/*")
public class MyWSApplication extends ResourceConfig {
public MyWSApplication() {
packages("com.example.ws.resources");
register(JacksonFeature.class);
register(ExceptionListener.class);
}
}
现在,假设核心库中定义了两个核心资源:
users
items
映射路径
/users
:所有用户/users/{id_user}
:特定用户/items
:所有项目/items/{id_item}
:特定项目/users/{id_user}/items
:与使用资源定位器映射的特定用户相关的项目。一切都按预期工作。
我的疑问是:如何在可选网络片段中的/users/{id_user}
下定义新的子资源?
要清楚,我想在路径下定义一个opt_res
资源:
/opt_res
:单独opt_res
/users/{id_user}/opt_res
:获取与用户相关的opt_res
此外,opt_res
必须有子资源。
因此,如果未安装网络片段,则点击路径<host>/a/opt_res
或<host>/a/users/{id_user}/opt_res
应该为HTTP/404
,如果是,则为子资源。