Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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 Jersey REST:我可以从参数字段映射@PathParam吗_Java_Rest_Jersey - Fatal编程技术网

Java Jersey REST:我可以从参数字段映射@PathParam吗

Java Jersey REST:我可以从参数字段映射@PathParam吗,java,rest,jersey,Java,Rest,Jersey,我有一个RESTful接口,可以对某个对象执行CRUD: class Foo { String id; ... } 更新的声明如下所示: public class FooCRUD { @PUT @Path("/foos/{id}") public void replace(@PathParam("id") id, Foo foo){...} } 但是Foo已经包含id。我想做以下工作,但似乎不起作用: class Foo { @PathParam("id"

我有一个RESTful接口,可以对某个对象执行CRUD:

class Foo {
   String id;
   ...
}
更新的声明如下所示:

public class FooCRUD {
   @PUT
   @Path("/foos/{id}")
   public void replace(@PathParam("id") id, Foo foo){...}
}
但是
Foo
已经包含
id
。我想做以下工作,但似乎不起作用:

class Foo {
   @PathParam("id")
   String id;
   ...
}
public class FooCRUD {
   @PUT
   @Path("/foos/{id}")
   public void update(Foo foo){...}
}

有没有办法避免向方法中添加额外的参数?

Foo类中的id将随请求一起发送?或者它是空的?Foo将包含一个有效的id字段。因此我认为Path参数中不需要id,您只需要从body和Foo对象中获取它。基本上,我正在尝试将基于消息和RESTful的系统结合起来。REST约定需要URL路径中的实体ID。但是,对于消息代理,没有URL路径,因此需要将其放入消息中。这将使建立一个web服务网关来面对一个基于消息的服务器变得更容易,因为主体和方法签名将保持不变。因此,我希望客户端代理自动从body参数中提取ID并使用它来构建URL路径,然后让服务器从URL路径中提取ID并将其放入body中。我很懒,不想写那种代码。