我对如何使参数化的@PATH起作用感到茫然。
这是我的web.xml
<servlet-mapping>
<servlet-name>JerseyServlet</servlet-name>
<url-pattern>/ND/*</url-pattern>
</servlet-mapping>
这是我的资源类:
@Path("/ND")
public class TransactionResource
{
@Context UriInfo uriInfo;
public TransactionResource()
{
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String itWorks()
{
return String.format("Get is OK. %s", DateUtil.now());
}
@GET @Path("/NJ")
@Produces(MediaType.TEXT_PLAIN)
public String itWorksForState()
{
return String.format("Get is OK for NJ. %s", DateUtil.now());
}
@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_XML)
public String addTransaction(Transaction pTransaction) throws Exception
{
//some code here
return "Successful Transmission";
}
当我在URL http://my_web_app:8080/ND进行GET或POST时,两种方法都可以正常工作。 但由于某些原因,URL http://my_web_app:8080/ND/NJ处的GET方法始终返回404-NotFound。
我在这里做错了什么?
由于
答案 0 :(得分:0)
你有4级路径:
@Path("transaction")
现在你有了 @Path( “交易”) 公共类TransactionResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String itWorksForState()
{
return String.format("Get is OK for REST. %s", DateUtil.now());
}
}
转到Firefox并输入
http://my_web_app:8080/myapp/ws/transaction
:您应该阅读日期
如果你添加
@Path("morepath")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String itWorksForState()
{
return String.format("Get is OK for REST. %s", DateUtil.now());
}
然后你必须去http://my_web_app:8080/myapp/ws/transaction/morepath