Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAX-RS,路径参数don';行不通_Java_Rest_Jax Rs_Path Parameter - Fatal编程技术网

Java JAX-RS,路径参数don';行不通

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-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();

    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;