Ich bin mir nicht ganz sicher wie ich meine Frage formulieren soll und ob ich hier richtig bin, aber ich fange mal an.
Ich komme aus dem Bereich dynamische Sprachen und fange mit Spring an und sehe auch dass es ein sehr mächtiges Framework ist.
Trotzdem habe ich mit meinen Spring Boot Applikationen oft das Gefühl, dass ich "am Framework vorbeiprogrammiere" und viel zu viel repetitiven Code schreibe.
Ein Beispiel:
Bisher nutzte ich etwa das www.django-rest-framework.org und dort schreibe ich etwa eine Zeile Code die sieht so aus:
Und daraus generiert das Framework ein Standard DTO (heisst da Serializer) und ein CRUD Rest View, den ich noch anpassen kann. Ich bekomme Datenbankabstrahierte Migrationen.
Vor allem aber gibt es bereits vernünftige Validierung. Django gibt mir etwa einen 409er Status Code zurück und eine i18n'te Fehlermeldung im JSON wenn ich die Email doppelt anlege usw. Im Kern definiere ich in dieser einen Zeile das komplette Feld.
Meine Spring Experience ist, dass ich eine "@Unique" annotation anlege, die vom Framework komplett ignoriert wird und ich muss mein SQL selbst schreiben obwohl ich eine library dafür benutze (flywaydb).
Die ganzen Crud Operationen kann ich mit Java Data Rest freigeben, das habe ich gesehen (ich mag das zwar architektonisch nicht, aber das ist eine andere Frage).
Vor allem bekomme ich aber immer als Fehlermeldung eine 500er JSON und muss mich um absolut banale Anwendungsfälle selber kümmern. Für das "unique=True" in-Django handling gibt es dazu ganze Tutorials (http://www.baeldung.com/spring-dataIntegrityviolationexception).
Das ganze ist keineswegs als Java Bashing gemeint! Ich bin tief beeindruckt von Spring!
Ich kann mir nur nicht vorstellen dass jedesmal wenn jemand in der Java Feld einen REST Service mit Email Feld schreibt denselben Code schreibt.
Gehe ich irgendwie falsch an die Sache ran? Überlese ich etwas?
Ich komme aus dem Bereich dynamische Sprachen und fange mit Spring an und sehe auch dass es ein sehr mächtiges Framework ist.
Trotzdem habe ich mit meinen Spring Boot Applikationen oft das Gefühl, dass ich "am Framework vorbeiprogrammiere" und viel zu viel repetitiven Code schreibe.
Ein Beispiel:
Bisher nutzte ich etwa das www.django-rest-framework.org und dort schreibe ich etwa eine Zeile Code die sieht so aus:
Code:
email = models.Email(required=True, unique=True)
Und daraus generiert das Framework ein Standard DTO (heisst da Serializer) und ein CRUD Rest View, den ich noch anpassen kann. Ich bekomme Datenbankabstrahierte Migrationen.
Vor allem aber gibt es bereits vernünftige Validierung. Django gibt mir etwa einen 409er Status Code zurück und eine i18n'te Fehlermeldung im JSON wenn ich die Email doppelt anlege usw. Im Kern definiere ich in dieser einen Zeile das komplette Feld.
Meine Spring Experience ist, dass ich eine "@Unique" annotation anlege, die vom Framework komplett ignoriert wird und ich muss mein SQL selbst schreiben obwohl ich eine library dafür benutze (flywaydb).
Die ganzen Crud Operationen kann ich mit Java Data Rest freigeben, das habe ich gesehen (ich mag das zwar architektonisch nicht, aber das ist eine andere Frage).
Vor allem bekomme ich aber immer als Fehlermeldung eine 500er JSON und muss mich um absolut banale Anwendungsfälle selber kümmern. Für das "unique=True" in-Django handling gibt es dazu ganze Tutorials (http://www.baeldung.com/spring-dataIntegrityviolationexception).
Das ganze ist keineswegs als Java Bashing gemeint! Ich bin tief beeindruckt von Spring!
Ich kann mir nur nicht vorstellen dass jedesmal wenn jemand in der Java Feld einen REST Service mit Email Feld schreibt denselben Code schreibt.
Gehe ich irgendwie falsch an die Sache ran? Überlese ich etwas?