我正在春季首次设计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/

10-13 03:35