Java JAX-RS@Path嵌入变量
我正在使用最新的Jax-RS+Glassfish版本,并且一直在尝试对API进行版本化。出于某种原因,如果我在@Path Root资源类中包含嵌入变量,它甚至不会考虑这些变量Java JAX-RS@Path嵌入变量,java,eclipse,glassfish,jax-rs,Java,Eclipse,Glassfish,Jax Rs,我正在使用最新的Jax-RS+Glassfish版本,并且一直在尝试对API进行版本化。出于某种原因,如果我在@Path Root资源类中包含嵌入变量,它甚至不会考虑这些变量 @Path("/v{versionNum}/tasks") public class Tasks { @SuppressWarnings("unused") @Context private UriInfo context; } 我的上下文根是/api My web.xml包括: <ser
@Path("/v{versionNum}/tasks")
public class Tasks {
@SuppressWarnings("unused")
@Context
private UriInfo context;
}
我的上下文根是/api
My web.xml包括:
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
生成JAX-RS工具-不修改
JAX-RSservlet
com.sun.jersey.spi.container.servlet.ServletContainer
1.
JAX-RSservlet
/*
现在如果我想打
localhost:8080/api/v1/tasks,我得到一个404。
如果我击中
localhost:8080/api/tasks,它可以工作
我只是不明白我做错了什么。任何帮助都将不胜感激,谢谢 sunweb.xml
<sun-web-app>
<context-root>/api</context-root>
</sun-web-app>
...
<servlet>
<servlet-name>ServletAdaptor</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletAdaptor</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
...
@Path("/v{version}/tasks")
在GlassFish上部署http://localhost:8080/api/v1/tasks
-运行良好
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
JAX-RSservlet
/原料药/*
localhost:8080/projectname/api/v15/tasks
- 项目名称:项目名称
- /api:servlet映射
- /v15/任务:路径注释