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 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |