我们正在为api编写一系列RESTful服务。有/ api / orders这是我们的订单系统和/ api /搜索我们的搜索系统的终点。
过去我们所有的服务都是SOAP服务,我们的方法被称为动词。所以我们的订单系统有addOrder(),getOrder(),addOrders(),getTracking()等。
所以我们的新api将有/ api / order / {id}并添加PUT和获取将是GET。我们不允许删除或更新,因此我们将对这些和其他HTTP谓词进行错误处理。
对于我的搜索,我们有getSearchResult(),我们传入一个Criteria对象,其中包含用户正在搜索的所有条件,有时它们可以设置十几个属性(从价格,价格,图像? ,标记,状态,关键字等)。我知道REST不是一个标准,但如果我想坚持使用架构最佳实践,我不确定我应该如何形成我的端点。
/api/products/{searchCriteria} and we GET products fitting criteria
/api/search/{criteria} and we GET a "Search" or maybe
/api/searchResult/{Criteria}
I'm assuming the criteria is going to be a JSON string.
此外,我需要查找制造商,并根据用户所在的邮政编码发货。我之间有点困惑
/api/product/{pID}/manufacturer/{zip}
/api/manufacturer/{product}/{zip}
/api/manufacturer/{criteria} with criteria being a JSON string
with product and criteria.
使用Web API构建ASP.NET