Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:java:learningunits:lu08:b [2025/10/27 03:20] – angelegt apeter | de:modul:ffit:3-jahr:java:learningunits:lu08:b [2025/10/28 01:35] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== LU08b - Schnittstellendokumentation | + | ====== LU08b - Persistierung |
| - | Da in grösseren Entwicklungsteams oft unterschiedliche Leute an Front- und Backend arbeiten, ist eine entsprechende Dokumentation der Schnittstellen (z. B. REST APIs) unabdingbar. | + | Spring Boots nutzt ebenfalls Hibernate, liefert aber einige mächtige Funktionen. |
| - | Dadurch wird sichergestellt, | + | |
| + | ==== JpaRepository ==== | ||
| - | ==== OpenAPI ==== | + | JpaRepository erleichtert es sehr, Objekte |
| - | OpenAPI (https:// | + | |
| - | Machen Sie im Accounting-App-Projekt einen cherry-pick auf '' | + | ^ Klassisch ^ JpaRepository ^ |
| + | | < | ||
| + | <code java> | ||
| + | import jakarta.persistence.*; | ||
| + | import java.util.List; | ||
| - | ==== Swagger ==== | + | public class PersonPersistor { |
| - | Swagger (https:// | + | |
| - | Beispiele: | + | |
| - | ^ Name ^ Verwendungszweck ^ | + | private EntityManagerFactory emf; |
| - | | Swagger Editor | Bearbeiten/ | + | |
| - | | 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 | + | public PersonPersistor() { |
| + | this.emf = Persistence.createEntityManagerFactory(" | ||
| + | } | ||
| - | Theoretisch könnten Sie auch das Swagger-UI | + | public List< |
| + | EntityManager em = emf.createEntityManager(); | ||
| + | List< | ||
| - | Builden Sie Ihr Projekt neu. Falls Sie dafür die IDE benutzen, müssen Sie sicherstellen, | + | try { |
| - | + | em.getTransaction().begin(); | |
| - | Der neue Task '' | + | |
| - | + | " | |
| - | - Prüfen Sie, ob in '' | + | |
| - | - Fügen Sie unter '' | + | result = query.getResultList(); |
| + | em.getTransaction().commit(); | ||
| + | } catch (Exception e) { | ||
| + | em.getTransaction().rollback(); | ||
| + | throw e; | ||
| + | } finally { | ||
| + | em.close(); | ||
| + | } | ||
| + | return result; | ||
| + | } | ||
| + | public void close() { | ||
| + | emf.close(); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| <code java> | <code java> | ||
| - | @RestController | + | import org.springframework.data.jpa.repository.JpaRepository; |
| - | public | + | import java.util.List; |
| - | | + | |
| + | public | ||
| + | | ||
| } | } | ||
| </ | </ | ||
| + | </ | ||
| + | |||
| + | Massgebend ist hierbei die Benennung der Methode (und Argumente). | ||
| + | |||
| + | ^ Schlüsselwort | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | Folgende Methoden sind automatisch dabei, ohne dass sie implementiert werden müssen. | ||
| - | Man kann auch mit der OpenAPI-Datei und Postman die APIs testen. | + | ^ Methode |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | Wobei der Typ '' | ||