REST API kein Content in Json aus Datenbank

Avalon

Bekanntes Mitglied
Hallo, ich habe ein REST API Projekt in Eclipse (Spring-Boot, Maven, Devtools, Tomcat usw.). Wenn ich das Projekt nach
Code:
maven clean install
über die Devtools als Spring-Boot App starte, erhalte ich nach einem GET-Request nur zwei geschweifte Klammern im Content in einem JSON Objekt zurück.
JSON:
{
"content": [
{}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"offset": 0,
"pageNumber": 0,
"pageSize": 10,
"unpaged": false,
"paged": true
},
"totalElements": 1,
"last": true,
"totalPages": 1,
"size": 10,
"number": 0,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"numberOfElements": 1,
"first": true,
"empty": false
}
während jetzt alles läuft, und ich am Code etwas ändere (z.B. einfach nur ein Leerzeichen irgendwo ohne Bedeutung einfüge), dann abspeichere, startet die Spring Boot App automatisch neu. Und siehe da jetzt funktioniert es.
JSON:
{
"content": [
{
"id": 1,
"name": "Peter1",
"password": "test1",
"passwordConfirm": null
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"offset": 0,
"pageNumber": 0,
"pageSize": 10,
"unpaged": false,
"paged": true
},
"totalElements": 1,
"last": true,
"totalPages": 1,
"size": 10,
"number": 0,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"numberOfElements": 1,
"first": true,
"empty": false
}
Ich bin ratlos. Das hatte ich bis jetzt noch nicht. Kann mir jemand auf die Sprünge helfen?
 
Die Daten fehlen nur beim ersten Request (bevor ich was ändere und speichere). Nach dem automatischen Neustart der App durch STS, läuft alles ganz normal. Bis zum nächsten "mvn clean install". Dann muss ich die Prozedur wiederholen. Ich benutzte MariaDB und habe dort manuell Testdaten in die automatisch angelegten Tabellen eingetragen.
 
Ich denke ich hab das Problem gefunden. Ich arbeite mit Lombok 1.18.16 und wenn ich die @Data Annotation benutze, klappt es nicht. Setze ich aber stattdessen @Getter und @Setter ein, funktioniert alles tadellos.
Kommando zurück. Die Freude war nur von kurzer Dauer. Lombok funktioniert irgendwie nicht. Nur wenn ich die Getter und Setter manuell in die Klassen schreibe, klappt alles.
 
Kommando zurück. Die Freude war nur von kurzer Dauer. Lombok funktioniert irgendwie nicht. Nur wenn ich die Getter und Setter manuell in die Klassen schreibe, klappt alles.
Also was soll "Lombok funktioniert nicht" bedeuten? Lombok selbst sollte funktionieren. Je nach Build-Tool kann ein Tool damit Probleme haben (Dann wird kein Code erzeugt und daher funktioniert dann etwas nicht ... da wäre dann das Build Tool und die genaue Konfiguration interessant. Das habe ich z.B. bei gewissen Hot-Deploy Mechanismen schon erlebt, dass die da Probleme hatten ... Oder neue IDE Versionen haben sie als Problematisch herausgestellt ... Das hat mich z.B. zuletzt bei IntelliJ 2020.3 wieder so geärgert, dass ich zukünftig auf Lombok verzichte 🙂 )

Bei einem einfachen maven build sollte es diesbezüglich aber keine Probleme geben, aber vorsichthalber kann man den Annotation Processor noch mit angeben, also etwas in der Art:
Java:
<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>15</source>
                    <target>15</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.16</version>
                        </path>
                    </annotationProcessorPaths>                 
                </configuration>
            </plugin>

(Geklaut und leicht angepasst von: https://stackoverflow.com/questions/35394885/lombok-not-compiling-in-maven)
 

Neue Themen


Zurück
Oben