У меня есть ресурс под названием Pricing
, который я хочу получить. У Offer
может быть цена, а Promo
может иметь Pricing
ресурс и есть другой объект Customer
, с которым можно сопоставить Pricing
. Я хочу получить Pricing
на основе любого из OfferId
/PromoId
/CustomerId
.url design for RESTful services
Для оформления 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-адреса?
Каков стандарт REST для разработки URL-адреса. Какой вариант вы бы порекомендовали?
Я думаю, что общее мнение состоит в том, что вы должны иметь 3 urls going like/prices/offer/1234. См. Пример http://code.msdn.microsoft.com/Build-truly-RESTful-API-194a6253 –