Non-CRUD işlemleri Dinlendirici bir hizmet
"Ekleme yolu olmayan CRUD Dinlendirici bir hizmet işlemleri? Dinlendirici ne Bu gibi kayıtlar için CRUD erişim sağlayan bir hizmet var
GET /api/car/123 <- Returns information for the Car object with ID 123
POST /api/car <- Creates a new car (with properties in the request)
PUT /api/car/123 <- Updates car 123 (with properties in the request)
DELETE /api/car/123 <- Deletes car 123
POST /api/car/123/wheel/ <- Creates a wheel and associates it to car 123
Eğer arabanın rengini değiştirmek istiyorum, sadece 3 ** ve bir POST yeni rengin değişken vardır söyleyebilirim.
Ama diyelim ki bir araba satın almak istiyorum, ve bu işlem sadece bir "" kayıt "özelliği. araba" sahibi kullanıcı güncelleme daha karmaşık olduğunu söylüyor Dinlendirici için sadece POST /api/car/123/purchase
nereye "gibi," aslında bir yöntem adı? satın mı Veya özel bir HTTP fiil PURCHASE
yerine POST
gibi mi kullanmalıyım?
Veya DİNLENME kapsamının tamamen dışında olmayan CRUD işlemleri.
CEVAP
Düşünsatın almaiş bir kişi ya da birkaynakDinlendirici bir sözlük. Bu varlık, bir satın alma aslında yeni bir kaynak yaratmak olduğunu söyledi. Yani:
POST /api/purchase
yeni bir sipariş. Ayrıntıları (kullanıcı, araba, vb.) kimliği (veya URI) tarafından başvurulan olmalıdır içeriğini bu adrese gönderdi.
Bir araba sipariş sadece veritabanında basit bir EKLEME olmadığını fark etmez. Aslında, GERİSİ CRUD işlemleri olarak veritabanı tabloları teşhir ilgili değil. Bakış mantıksal açıdan bir sipariş (satın alma) oluşturuyorsunuz, ama sunucu tarafında istediği gibi birçok işlem basamakları yapmakta özgür.
Hatta HTTP protokolü daha da kötüye. Location
başlık yeni oluşturulan sipariş için bir link dönmek için, dikkatli seçin HTTP yanıt kodları sorunlar hakkında kullanıcılara (sunucu veya istemci tarafı), vb bildirmek için kullanın.
Dize olmayan Dinlendirici bir hizmet U...
Dinlendirici bir hizmet için Jersey ve...
Diğerleri için bir hizmet olarak e-pos...
Hizmet İçeriği almak...
Ne kadar Hizmet varsa söyle Visual Stu...