Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:java:learningunits:lu08:a [2025/10/26 21:52] apeterde:modul:ffit:3-jahr:java:learningunits:lu08:a [2025/10/28 01:33] (aktuell) apeter
Zeile 1: Zeile 1:
-====== LU08a - Schnittstellendokumentation ======+====== LU08a - Vereinfachungen ======
  
-Da in grösseren Entwicklungsteams oft unterschiedliche Leute an Front- und Backend arbeitenist eine entsprechende Dokumentation der Schnittstellen (z. B. REST APIs) unabdingbar. +Nachfolgend werden einige Bibliotheken gezeigtum das Schreiben von Code zu vereinfachen.
-Dadurch wird sichergestellt, dass die Schnittstellen seitens Backend korrekt implementiert und seitens Frontend korrekt verwendet werden.+
  
 +==== Project Lombok ==== 
  
-==== OpenAPI ====  +Project Lombok hilft Boilerplate-Code in Datenklassen auf ein Minimum zu reduzieren.
-OpenAPI (https://www.openapis.org/) ist ein gebräuchlicher Standard, um APIs in einer JSON- oder YAML-Datei zu spezifizieren+
  
-Machen Sie im Accounting-App-Projekt einen cherry-pick auf ''TODO'' um im Verzeichnis ''documentation/'' die Datei ''openapi.yaml'' zu erhalten.+^ Klassisch ^ Lombok ^ 
 +| <WRAP> 
 +<code java> 
 +public class Person {
  
-==== Swagger ==== +    private Long id; 
-Swagger (https://swagger.io/) umfasst einige Tools rund um OpenAPI. +    private String firstName; 
-Beispiele:+    private String lastName; 
 +    private int age;
  
-^ Name ^ Verwendungszweck ^ +    // Standard-Konstruktor 
-| Swagger Editor | Bearbeiten/Validieren von OpenAPI-Dateien |  +    public Person() { 
-| Swagger UI | Interaktive API-Dokumentation im Browser |  +    }
-| Swagger Codegen / OpenAPI Generator | Generieren von  Client- oder Server-Code aus OpenAPI-Dateien | +
  
-Nutzen Sie den Swagger Editor (https://editor.swagger.io/) um die definierten APIs in ''openapi.yaml'' anzusehen und zu verstehen.+    // Konstruktor mit allen Feldern 
 +    public Person(Long id, String firstName, String lastName, int age) { 
 +        this.id = id; 
 +        this.firstName = firstName; 
 +        this.lastName = lastName; 
 +        this.age = age; 
 +    }
  
-Theoretisch könnten Sie auch das Swagger-UI (https://swagger.io/tools/swagger-ui/benutzen, dieses müssten Sie aber erst herunterladen.+    // Getter und Setter 
 +    public Long getId(
 +        return id; 
 +    }
  
-Man kann auch mit der OpenAPI-Datei und Postman die APIs testen.+    public void setId(Long id) { 
 +        this.id = id; 
 +    }
  
 +    public String getFirstName() {
 +        return firstName;
 +    }
 +
 +    public void setFirstName(String firstName) {
 +        this.firstName = firstName;
 +    }
 +
 +    public String getLastName() {
 +        return lastName;
 +    }
 +
 +    public void setLastName(String lastName) {
 +        this.lastName = lastName;
 +    }
 +
 +    public int getAge() {
 +        return age;
 +    }
 +
 +    public void setAge(int age) {
 +        this.age = age;
 +    }
 +}
 +</code> 
 +</WRAP> | <WRAP>
 +<code java>
 +import lombok.Getter;
 +import lombok.Setter;
 +import lombok.NoArgsConstructor;
 +import lombok.AllArgsConstructor;
 +
 +
 +@Getter                 // generiert Getter
 +@Setter                 // generiert Setter
 +@NoArgsConstructor      // generiert Standard-Konstruktor
 +@AllArgsConstructor     // generiert Konstruktor mit allen Feldern
 +public class Person {
 +    private Long id;
 +    private String firstName;
 +    private String lastName;
 +    private int age;
 +}
 +</code>
 +</WRAP> |
 +
 +Mit ''@Data'' kann man sogar Getter, Setter, toString, equals und hashCode generieren lassen.
 +
 +Mehr dazu auf https://www.cegos-integrata.de/blog/it-blog/programmiersprachen-blog/project-lombok-java-klassen-effizient-gestalten
  
  • de/modul/ffit/3-jahr/java/learningunits/lu08/a.1761511928.txt.gz
  • Zuletzt geändert: 2025/10/26 21:52
  • von apeter