Java JAX-RS,路径参数don';行不通
我尝试通过GET-to-REST方法传递参数Java JAX-RS,路径参数don';行不通,java,rest,jax-rs,path-parameter,Java,Rest,Jax Rs,Path Parameter,我尝试通过GET-to-REST方法传递参数 @GET @Path("{id}") public Response getUser(@PathParam("id") String id) { Query qry = em.createQuery("from User c WHERE id = :user_id"); qry.setParameter("user_id", id); List<User> results = qry.getResultList()
@GET
@Path("{id}")
public Response getUser(@PathParam("id") String id) {
Query qry = em.createQuery("from User c WHERE id = :user_id");
qry.setParameter("user_id", id);
List<User> results = qry.getResultList();
if(results.size() > 0) {
return Response.ok(results.get(0),MediaType.APPLICATION_JSON_TYPE).build();
} else {
return Response.serverError().status(Response.Status.NOT_FOUND).build();
}
}
然后调用该方法,但参数为空。如果我从GET url中删除“abc”
,则不会调用该方法。另外,如果我删除@Path(“{id}”)
它也不起作用。它似乎有一个参数,但它是空的,没有任何理由。也许有人能帮我解决这个问题
方法参数中不需要使用类属性,只需给出名称即可。请尝试以下操作:
public Response getUser(@PathParam("id") String id)
遗憾的是,原因是PathParam导入错误。所以我桌上有一张大纸条。。。如果不检查的东西不起作用。。。检查IDE生成的导入。导入可以默认为:
import javax.websocket.server.PathParam;
将其替换为JAX-RS API中的一个:
import javax.ws.rs.PathParam;
它不起作用的原因是路径参数的导入错误。所以导入javax.ws.rs.PathParam并再次检查。我的坏,修复了这个错误,但它仍然是空的:/发生了同样的事情,我快疯了!我也是。谢谢!!
import javax.ws.rs.PathParam;