Çizgi biraz bulanık olsa da, benim için bir kural: iş mantığınızın üzerinde çalıştığı veriler vücutta olmalı, meta veriler başlıklara konulabilir / konmalıdır.
Buna bakmanın başka bir yolu şudur: Sadece belirli taleplerde ortaya çıkan veriler, tüm uygulama boyunca tutarlı bir şekilde işlenen veriler başlığa girmelidir.
Bir başka bakış açısı ise: Bir uygulamanın değil, örneğin bir yönlendirici / güvenlik duvarı tarafından bir veri parçasının global olarak işlendiğini hayal edebiliyor musunuz? Evetse, muhtemelen vücuttan ziyade başlıklara girmelidir.
Bu kuralları uygulamanın bazı örnekleri:
- Güvenlik bilgileri, bir uygulamanın her yerinde aynı şekilde ele alınacağı için başlıklara girer; Uygulama düzeyinde, filtreden geçmesi durumunda, talebi işleme alan asıl noktadan bağımsız olarak, geçerli bir kimlik bilgisi olmadan istekleri reddeden bazı istek filtreleri olacaktır.
- Öte yandan, bir yöneticinin sisteminize kullanıcı ekleyebilmesine izin veren bir uç noktaya sahipseniz, oluşturulacak kullanıcının oturum açma talebi aşağıdakilerden yapılmalıdır: a) uygulamanızın iş mantığı tarafından ele alındığında, b) bu belirli son noktada görünür, ancak başkalarında görünmez.
- Önbelleğe almayı denetleyen seçenekler başlıklara uygun olabilir (önbellekleme uygulamanızın iş mantığının temel bir parçası değilse).
Benzersiz cihaz kimliği ile ilgili sorunuza geri dönersek: eğer her yerde tutarlı bir şekilde kullanılırsa, örneğin sadece kayıt için, başlıklara konulabilir. Ancak, istekleri uç noktaya bağlı olarak farklı şekillerde filtrelemek için kullanılırsa, vücutta olması daha iyi olur. Elbette, her iki kullanım durumunuz varsa, API kullanıcısını aynı veriyi iki yere koymaya zorlamak yerine, yalnızca bir tek yoldan (muhtemelen başlıklar) geçmeniz daha iyi olacaktır; Tutarsız girdiler veya bir tür onaylama yapılması.