我正在設計的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的產品並獲取所有產品?'絕對是的,你應該。這樣,你的服務將會更加緊密,並且讓任何看着你的代碼的人都能更容易理解它。 –