我正在创建一个用于访问数据的RESTful服务。
所以我开始编写该服务,首先我使用以下代码创建了一个ReadOnlyResource
接口:
public interface ReadOnlyResource<E, K> {
Collection<E> getAll();
E getById(K id);
}
其中E是返回的类型,K是关键元素。
因此,如果我使用<Integer, Integer>
实现,我会像t
@GET
@Path("/{id}")
@Override
public Integer getById(@PathParam("id") Integer id) {
return null;
}
但是当我的密钥更复杂时,就像这样:
public class ComplexKey {
private String name;
private int value;
}
如何注入这个以便我可以使用我的界面?
有没有办法注入两个参数并用它们创建密钥?
编辑:@QueryParam的解决方案没有帮助,因为我尝试访问的是/ 某个名称 / 某个数字并且接收包含的ComplexKey实例来自网址的一些名称和一些数字值。答案 0 :(得分:3)
我尝试访问的内容是 /某个名称/某个数字并接收一个ComplexKey实例,其中包含来自网址的某些名称和一些数字值
public class ComplexKey {
@PathParam("name")
private String name;
@PathParam("value")
private int value;
// getters/setters
}
@Path("/{name}/{value}")
getById(@BeanParam ComplexKey key)