Bir mikro hizmetler ortamında yeni bir hizmet geliştiriyorum. Bu bir REST hizmetidir. Basit olması için, yolun: / historyBooks olduğunu varsayalım.
Ve bu yol için POST yöntemi yeni bir tarih kitabı oluşturur.
Bir tarih kitabının tarihte bir veya daha fazla dönemi kapsadığını varsayalım.
Kısacası, insanlık tarihinin sadece aşağıdaki dönemlerine sahip olduğumuzu varsayalım:
- Antik
- Post Klasik
- Modern
Kodumda, onları bir enum
.
Yöntemin gövdesi (faydalı yük) JSON biçimindedir ve bir alan adı içermelidir eras
. Bu alan, era
bu kitabın kapsadığı değerlerin bir listesidir .
Vücut şöyle görünebilir:
{
"name": "From the cave to Einstein - a brief history review",
"author": "Foo Bar",
"eras": ["Ancient", "Post Classical", "Modern"]
}
Bu özel hizmette iş mantığı şöyledir:
Girdide herhangi bir dönem belirtilmemişse, bu kitabın tüm dönemleri kapsadığı kabul edilir .
API incelemesinde bir öneride bulunuldu:
Dönemlerin sıralaması ALL
için tüm dönemlerin açık olduğunu açıkça belirtmek üzere başka bir değer ekleyin .
Bence bazı artıları ve eksileri var.
Artıları:
Açık girdi
Eksileri:
Listede iki öğe varsa, deyin ALL
ve Ancient
- uygulamadan ne alınacaktır? Sanırım bu ALL
diğer değerleri geçersiz kılmalı, ama bu yeni iş mantığı.
Bir sorgu çalıştırırsam, belirli dönemleri kapsayan kitaplar için tüm dönemleri kapsayan kitapları nasıl temsil ederim? Eğer ALL
(aynı mantığı kullanarak) çıkışı için kullanılır, o zaman yorumlamak tüketicinin sorumluluğunda ALL
olarak ["Ancient", "Post Classical", "Modern"]
.
Benim sorum
Yeni ALL
olana sahip olmanın, hiç sahip olmamaya göre daha fazla karışıklığa neden olduğunu düşünüyorum .
Ne düşünüyorsun? Bu ALL
değeri ekler misiniz veya API'nızı onsuz tutar mısınız?