我正在春季首次设计API,并且有以下用例:
获取所有产品。
通过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获得产品并获得所有productS?
最佳答案
你一定有GET /products
-返回所有产品的列表GET /products/:id
-返回单个产品或在找不到产品的情况下返回404
这样,它更容易阅读,并且与您在互联网上找到的其他质量API一致。
关于java - 这会被认为是不良的RESTFul设计吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44874045/