我有一个名为Pricing
的资源,我想要检索。一个Offer
可以有定价和一个Promo
可以有Pricing
资源,并有另一个实体Customer
与Pricing
可以映射。我想根据OfferId
/PromoId
/CustomerId
之一检索Pricing
。RESTful服务的网页设计
设计URL对于这一点,我运行到两个选项:
选项1:把它作为查询字符串
/pricing?OfferId=234&PromoId=345&CustomerId=543234
选项2:有三个API
/pricing/offer?id=234
/pricing/promo?id=345
/pricing/customer?id=543234
IMO,OfferId
/PromoId
/CustomerId
应该被视为资源的属性。因此,传递属性作为查询字符串。我更倾向于选项1.
选项2避免如果其他条件检索资源,看起来更清洁,但似乎是支持REST标准的URL设计?
什么是设计URL的REST标准。你会推荐哪个选项?
我觉得一般的共识是,你应该有3个网址像/定价/优惠/ 1234。请参阅示例http://code.msdn.microsoft.com/Build-truly-RESTful-API-194a6253 –