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, erabu 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ı ALLiç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 ALLve Ancient- uygulamadan ne alınacaktır? Sanırım bu ALLdiğ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 ALLolarak ["Ancient", "Post Classical", "Modern"].
Benim sorum
Yeni ALLolana sahip olmanın, hiç sahip olmamaya göre daha fazla karışıklığa neden olduğunu düşünüyorum .
Ne düşünüyorsun? Bu ALLdeğeri ekler misiniz veya API'nızı onsuz tutar mısınız?