Şu anda klasik müşteri verilerine erişmek için bir REST API tasarlıyoruz. API'deki öğelerden biri kullanıcının varlıklarıdır. Varlıklar belirli bir hizmet kapsamında eklenir. Arka uç API'si yalnızca belirli bir hizmet altındaki bir kullanıcıya öğe ekleyecektir. Dolayısıyla, Kullanıcı - Varlık ilişkisi yoktur, ancak bir Kullanıcı - [Hizmet] - Varlık ilişkisi vardır.
URI'lerimiz şöyle görünecek:
/users/{id}/assets/{id}/services/{id}
API'nın kullanımı, yeni bir giriş oluşturmak için varlık kimliğini ve hizmet kimliğini bilir. Mücadele ettiğimiz şey bu ilişkinin yaratılması.
Basit bir yol, tüm ilişkiyi /users/{id}/assets/
POST /users/{id}/assets
{asset:${id}, service:{id}, attribute1:"{var}", attribute2:"{var}"}
ancak daha sonra URI'nin gösterebileceği gibi gerçekte bir varlık oluşturmuyoruz, ancak bir varlık-hizmet ilişkisi kuruyoruz.
Alternatif olarak, ilişkiye hitap eden URI'ye POST'luk etmeyi düşünüyoruz, şöyle:
POST /users/{id}/assets/{id}/service/{id}
{attribute1:"{var}", attribute2:"{var}"}
Ancak bu durumda, kaynak yolu /users/{id}/assets/{id}
POST'tan önce mevcut olmayacak ve bir yan etki olarak oluşturulacaktır.
Henüz mevcut olmayan bir kaynak yoluna POST 'a izin veriliyor mu?
Düşünceleriniz için teşekkürler,
Gerard.