Hızlandırılmış Kurs 101
10 Modüller
5 haftalar

Özel günlükçü

Kopyalamak için tıklayın

Kendi kaydedicinizi oluşturma


Hataları bulmak için yukarıda listelenen araçların yeterli olmadığı durumlarda, her zaman kendi kaydedicinizi yapabilir ve tüm ihtiyaçlarınızı ona uygulayabilirsiniz. Örneğin, olayın genel açıklamasına ek olarak bu olayı tetikleyen kullanıcı ve erişim düzeyi hakkında bilgi ekleyecek bir günlükçü oluşturalım.

Kaydedici veri modeli

Bunu yapmak için veritabanında bir model oluşturarak başlayalım. Üç zorunlu alanı olan çok basit bir modele ihtiyacımız var.

  • info (text) - etkinlik hakkında genel bilgiler
  • user (integer) - Kullanıcı Kimliği
  • access (array string) - kullanıcı grupları (birkaç tane olabilir)


Kaydedici iş süreci

Bundan sonra, veritabanına bir günlük yazmak için bir iş süreci oluşturacağız. Görevi, herhangi bir olay hakkında bilgi almak, kullanıcı hakkında bilgi eklemek ve nihai sonucu veritabanına kaydetmek olacaktır.

Kullanıcı hakkında bilgi almak için Auth: Get current user bloğunu kullanın. Sonucu, yalnızca yürütmeyi başlatan uç Middleware Token Auth etkinleştirilmişse bir kullanıcı modeli olarak gösterebileceğini unutmayın.


Sonucu genişletmek ve gerekli alanları almak için Expand User kullanıyoruz. Bizim durumumuzda bunlar ID , Login ve Groups . İlk ikisini kullanmak oldukça banal, sadece Login posta formatından standart bir String ( To String bloğuna) dönüştürmeniz gerekiyor.

Kullanıcı grupları söz konusu olduğunda durum biraz daha karmaşıktır. Enum biçiminde saklanırlar. Bu, metin değerlerini değil, veritabanında yalnızca tanımlayıcıların listesini depolayan numaralandırılmış bir türdür. Bizim durumumuzda, 1 değeri yöneticiler grubuna ( Admins ), 2 değeri ise kullanıcı grubuna ( Users ) karşılık gelir.

Görevimiz bu tanımlayıcının şifresini çözmek ve sonucu uygun metinsel veriler biçiminde yazmaktır. Bunun için şunlara ihtiyacınız var:

  • Kullanıcı gruplarıyla ilgili metin bilgilerinin yazılacağı bir değişken bildirin. String Array ve Set Variable bloklarını kullanalım.
  • Döngüyü For each loop bloğu ile başlatın. Kullanıcı gruplarının bir dizisini alacak ve ardından her yinelemede sonraki grubu metin değerine dönüştürecek ve diziye ekleyecektir.
  • Switch bloğunu kullanarak kullanıcı grubunu kontrol edin ve sonuca bağlı olarak süreci daha fazla yönlendirin.
  • String ve Set Variable bloklarını kullanarak, kullanıcı grubunun gerekli değerini bir değişkende saklayın.
  • Sonucu bir diziye eklemek ve döngünün başlangıcından önce bildirilen bir değişkende saklamak için Append Array ve Set Variable bloklarını kullanın.


Döngünün tamamlanmasının ardından, dağınık verilerden Text dönüştürülecek ve günlüğe yazılacak son bir dize oluşturmak için Concat Strings (Multiple) bloğunu kullanmalısınız.


Yapılacak son şey log modelini oluşturmak ve veritabanına yazmaktır.


Ortaya çıkan BP şöyle görünmelidir:


Kaydedici uç noktası

İş süreci hazır. Şimdi bunun için bir uç nokta oluşturmamız gerekiyor. Bunu yapmak için, POST /log/ uç noktasının sistem iş sürecini yeni oluşturulan iş süreci ile değiştireceğiz.


Artık kendi günlüğümüz tamamen kullanıma hazır. Modülün en başına, Basic functions iş sürecine dönebilir ve standart günlüğü kendiniz yaptığınızla değiştirebilirsiniz.


Şimdi, hesaplamalar her başlatıldığında, özel bir günlük yalnızca bu olayın gerçekliği hakkında değil, aynı zamanda bunu hangi kullanıcının yaptığı hakkında da bilgi kaydedecektir. Swagger kontrol edebiliriz.


Harika, günlüğümüz gerçekten işe yarıyor. Artık olay, kullanıcının oturum açması ve erişim hakları hakkında bilgiler içeriyor.

Olası hatalar ve önerilen eylemler

Sonuç olarak, olası hata çeşitlerini ve bunları düzeltmek için eylemleri yapılandırıyoruz.

  • İş sürecinin kendisindeki hatalar. Adım adım doğrulama için günlüklerin kullanılması önerilir. Böylece, belirli bir iş süreci bloğunu başlatma gerçeğini ve hem girdi hem de çıktıda bloğun kullandığı tüm parametreleri kontrol edebilirsiniz.
  • İsteği sunucuya gönderirken hatalar. Bunu yapmak için tarayıcıdaki Developer Tools kullanın. İsteğin gönderildiğini kontrol edebilir, yapısını ayrıştırabilir ve alınan yanıtı görebilirsiniz.
  • İstekler hatalı biçimlendirilmiş. Kapsamlı testler, çeşitli sorgu seçeneklerinin kontrol edilmesi ve parametre kombinasyonları için Swagger kullanılması önerilir.
  • İsteğin sonucu doğru şekilde ayrıştırılmamış. Olmaması gereken yerde sonucu bekliyoruz. Örneğin, veri tabanına veri ekliyoruz ancak bu veriyi gösteren tabloda bunları güncellemiyoruz. Her bileşenin karşılık gelen bir iş süreci gerektirdiğini unutmayın ve bu sürecin doğru yapılandırıldığından emin olun.
Was this article helpful?
Hala bir cevap mı arıyorsunuz?
Topluluğa Katılın