Java Jersey REST:我可以从参数字段映射@PathParam吗
我有一个RESTful接口,可以对某个对象执行CRUD: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"
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中。我很懒,不想写那种代码。