Bir önceki yazımda belirtmiş olduğum gibi Jhipster Domain Lanuage, jhipster internet sitesi üzerinden Entity tasarımımızı yaparken kullandığımız bir dildir. Bu yazımda bu dilin özelliklerine değinmeye çalışacağım.
Application Tanımlaması
Application tanımlaması JDL ile birlikte, projemizin ayarlarının yapılabildiği konfigürasyonunun sağlandığı bir bölümdür.Config projenin temel yapısını değiştirecek bilgiler içermektedir ve burada yer alan bilgilerin bazılarını proje oluştururken jhipster komutu veya internet sitesi üzerinden tanımlamaktayız.
Config içerisine yazılacak tanımlamaların tamamını https://www.jhipster.tech/jdl/#annexes adresi üzerinden erişebiliriz.
Birden fazla Application tanımlaması kullanılabilir ve bu tanımlamalarda hangi entitylerin yer alacağı belirtilebilir. https://www.jhipster.tech/jdlhttps://www.jhipster.tech/jdl// adresi üzerinde yer alan bir örneğe göz atalım.
application { config { baseName myMonolith applicationType monolith } entities * except C, D } application { config { baseName myGateway applicationType gateway serverPort 9042 } entities * except A, B } application { config { baseName microserviceA applicationType microservice } entities C } application { config { baseName microserviceB applicationType microservice serverPort 8082 } entities D } entity A entity B entity C entity D dto * with mapstruct service * with serviceClass paginate D with pager
Yukarıdaki örnekte, JDL ile birlikte 4 tane application tanımlaması örneği verilmiş. Entity tanımlamasına daha sonra değineceğim. Entities ile yer alacak entitileri tek tek belirtebiliriz, yada except kullanarak bütün entitilerden sadece olmayacak olanları belirtip ayırabiliriz. Eğer server portları application için tanımlanmamış olsaydı uygulama tipine göre default olan portu kullanacaktı. Bu portlar microservice için 8081, gateway and monoliths için 8080 ve UAA uygulaması için 9999dır.
Kodu çalıştırabilmek için bir editör ile kaydelim, ismini jhipster.jh yapalım aşağıdaki komut ile kodun belirtiği uygulamaları oluşturabiliriz. İşlem bittikten sonra 4 farklı uygulamanın kodları JDL üzerinde belirtildiği şekilde farklı klasörler içerisinde elimizde olucaktır.
Bu yazımda JDL dili ve application tanımlamasına değindim bir sonraki yazımda entitylerimizi nasıl oluşturacağımızı ve ilişkileri üzerine bir yazı yazacağım