我正在设计的API在春天的第一时间,我有以下的用例:这会被认为是不好的RESTFul设计吗?
- 获取所有的产品。
- 通过ID获取产品。现在
,我所做的就是,我给这个单一的API,
@Path("/products")
public interface ProductResource {
@GET
@ApiOperation(value = "Gets all the products by criteria")
Response getProductsByCriteria(@Context UriInfo uriInfo);
}
什么我做的是,我把ID的查询参数。如果它的值为null,我将调用返回所有产品的方法(在服务层),否则我将调用返回基于其id的特定产品(进入查询参数)的方法。
我只想知道,这是一个糟糕的RESTFul设计?我是否应该有两个独立的API来获取基于ID的产品并获取所有产品?
'我是否应该有两个独立的API来获取基于ID的产品并获取所有产品?'绝对是的,你应该。这样,你的服务将会更加紧密,并且让任何看着你的代码的人都能更容易理解它。 –