如果我们使用路径变量而不是查询参数获取多个资源,它是RESTful吗?

时间:2018-02-08 11:04:19

标签: rest api

拥有HTTP GET / employees / 1,2,3,4,5是否RESTful?或者应该将其建模为HTTP GET / employees?id = 1,2,3,4,5

2 个答案:

答案 0 :(得分:2)

这个问题更多是关于URI设计而不是REST。

URI旨在标识服务器中的特定资源。虽然/employees标识员工集合,但/employees/{id}之类的URI应标识该集合中具有给定ID的员工。斜杠表示hierarchy

如果您想从该集合中获取多个资源(事实上,在该集合中执行query),则使用查询参数会更有意义。这两种方法都是有效的:

GET /employees?id=1,2,3,4,5
GET /employees?id=1&id=2&id=3&id=4&id=5

答案 1 :(得分:0)

我有一个simiar要求打印从索引开始并以索引结束的所有数据,我使用查询参数如下所示。你可以尝试这个.. 你可以使用..

../../员工开始= 1&安培;端= 5

@GET
@Produces(MediaType.TEXT_PLAIN)
public String getInjectResources(@QueryParam("start") String start, 
@QueryParam("end") String end){

    String queryParams = "start: "+start+" end: "+end;
    // Your logic here..
}