java – JAX-RS / Jersey资源路径是否值得继承?
|
说我希望我的JAX-RS / Jersey应用程序公开以下URL:
http://myapp.example.com/app/fizz http://myapp.example.com/app/buzz http://myapp.example.com/app/foo http://myapp.example.com/app/bar 假设我希望/ app成为父基础资源,/ app / *成为“子”资源.以下是否会完成我正在寻找的URL策略(?): @Path('/app')
@Produces(MediaType.APPLICATION_JSON)
public abstract class AppResource {
// Whatever...
}
@Path('/fizz') // <--- right here,will FizzResource live at /app/fizz?
@Produces(MediaType.APPLICATION_JSON)
public class FizzResource extends AppResource {
// Whatever...
}
FizzResource会暴露在/ app / fizz还是/ fizz? 解决方法
简短的回答
FizzResource将暴露在/ fizz. 答案很长 引用JSR 339(关于注释继承的第3.6节):
specification还说:
创建子资源 JAX-RS/Jersey documentation解释了如何创建子资源:
因此,请执行以下操作来创建子资源: @Path("/app")
public class YourHandler {
@Produces(MediaType.APPLICATION_JSON)
public String yourHandlerForApp() {
// This method is be exposed at /app
}
@Path("/fizz")
@Produces(MediaType.APPLICATION_JSON)
public String yourHandlerForAppSlashFizz() {
// This method is be exposed at /app/fizz
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
