[JAVA] Feder mit Kotorin --2 RestController und Datenklasse

Übersicht / Beschreibung

Der Code, den ich in "Kotorin und Spring Mone - 1. SPRING INITIALIZR" gesehen habe, wurde automatisch von SPRING INITIALIZR generiert und es gibt keine bestimmte Verarbeitung. Es war eine Sache.

Dieses Mal werde ich den folgenden sehr einfachen Prozess hinzufügen.

RestController Erstellen Sie eine Klasse mit der Annotation ** @ RestController **, um die RestController-Klasse zu definieren.

RestController


@RestController
class SimpleController { 
  ...
}

Dieser @RestController ist übrigens eine Kombination aus ** @ Controller ** und ** @ ResponseBody **. Daher verhält es sich genauso, auch wenn es wie folgt definiert ist.

Controller


@Controller
@ResponseBody
class SimpleController { 
  ...
}

RequestMapping ** @RequestMapping ** Kommentieren Sie, um Anforderungen von Clients zuzuordnen.

Geben Sie die Zuordnungsbedingungen mit den folgenden Attributen an.

GetMapping Die Annotation ** @GetMapping ** ist eine Annotation, die als Verknüpfung für @RequestMapping (method = RequestMethod.GET) dient.

Data Class Eine Datenklasse ist eine Klasse, die nur Daten ohne Verarbeitung enthält. Die Datenklasse ist im folgenden Format definiert.

DataClass


data class Data(var id: String, var value: String)

Der Compiler leitet automatisch die folgende Verarbeitung aus den als Datenklasse definierten Inhalten ab und generiert diese.

Annahme / Umwelt

Laufzeitversion

Spring Dependencies

Entwicklungsumgebung

Vorgehensweise / Erklärung

Data Class

data class Message(var id: String,
                   var title: String,
                   var message: String)

Sie können sehen, dass die Beschreibung ohne Getter, Setter, toString und Gleichheiten einfach ist, die beim Definieren der Definition von JavaBeans in Java beschrieben wurden. Eine ähnliche Beschreibung wurde in Java mit ** Lombok ** erreicht, aber Kotlin unterstützt dieses Format auf Sprachebene.

RestController

import io.pivotal.syanagihara.simple.data.Message
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import java.text.SimpleDateFormat
import java.util.*

@RestController
@RequestMapping("/simple")
class SimpleController {

    @GetMapping
    fun getMessages() : List<Message> {
        return listOf(
                Message(
                        UUID.randomUUID().toString(),
                        "First Message",
                        "This is a 1st message on ${getDate()}."
                )
        )
    }

    private fun getDate() : String {
        val simpleDateFormat = SimpleDateFormat("yyyy/MM/dd HH:mm:ss")
        return simpleDateFormat.format(Date())
    }
}

Verwenden der Java-API

Ich verwende die Klasse ** java.util.Date **, um das aktuelle Datum und die aktuelle Uhrzeit zu drucken. Auf diese Weise können Java-API-Aufrufe von Kotlin transparent erfolgen.

Zugriffsmodifikator

Ich habe getDate () als privat deklariert, aber ich werde Kotlins Zugriffsmodifikatoren kurz zusammenfassen.

Zugriffsmodifikator Inhalt
public Zugänglich von allen Klassen
internal Zugriff über Klassen im selben Modul
protected Nur über Unterklassen zugänglich
private Nur von der deklarierten Klasse aus zugänglich

Zusammenfassung / Rückblick

Wenn Sie auf diese Anwendung zugreifen, wird das folgende Ergebnis zurückgegeben.

$ curl http://localhost:8080/simple

[{"id":"2ac2bf0a-8276-43e2-89d2-c0eb70ad38d9","title":"First Message","message":"This is a 1st message on 2018/11/04 20:52:45."},{"id":"04e915e4-f4fb-4920-84c9-f411f7603044","title":"Second Message","message":"This is a 2nd message on 2018/11/04 20:52:45."}]

Ich finde Lombok + Java nützlich, aber ich finde Kotlin, das Lombok-äquivalente Funktionen auf Sprachebene bietet, noch nützlicher. Auch dieses Mal habe ich eine einfache Anwendung mit RestController erstellt. Mit Spring + Kotlin war es sehr einfach und ohne unnötige Beschreibung zu vervollständigen.

Diese Quelle

Recommended Posts

Feder mit Kotorin --2 RestController und Datenklasse
Feder mit Kotorin --5 Aktuator
Frühling mit Kotorin ―― 1. SPRING INITIALIZR
Kompatibilität von Spring JDBC und My Batis mit Spring Data JDBC (vorläufig)
Frühling mit Kotorin --- 8. Aufbewahrungsschicht
Feder mit Kotorin --6 Asynchrone Verarbeitung
Feder mit Kotorin ―― 7. Serviceschicht
Feder mit Kotorin --4 REST API Design
Frühling mit Kotorin ―― 9. Datenbankmigration ―― Flyway
Datenverknüpfung mit Spark und Cassandra
Das Erstellen einer REST-API mit Spring JPA-Daten mit REST und Lombok ist unglaublich einfach.
ODER suchen Sie mit der Spring Data Jpa-Spezifikation
HTTPS mit Spring Boot und Let's Encrypt
Formularklassenvalidierungstest mit Spring Boot
Implementierungsmethode für Multi-Datenquelle mit Spring Boot (Mybatis und Spring Data JPA)
Geben Sie einfach Bilder mit Spring MVC ein und geben Sie sie aus
Klasse und Modell
Bis zur Datenerfassung mit Spring Boot + MyBatis + PostgreSQL
Schreiben Sie schnell RestController-Tests mit Spring Boot + Spock
Aktualisieren Sie die Datenbank regelmäßig mit Spring Batch und My Batis
Gegenseitige Bezugnahme auf Entity of Spring Data JPA und seine Anmerkungen
Frühling mit Kotorin - 8 Repository-Schicht - Ergänzung: H2-Datenbank
[Anfänger] Laden Sie Bilder und Dateien mit Spring hoch [Autark]
Sortieren nach Spring Data JPA (mit zusammengesetzter Schlüsselsortierung)
Erstellen eines gemeinsamen Repositorys mit Spring Data JPA
Versuchen Sie es mit einem DI-Container mit Laravel und Spring Boot
Ein Memorandum beim Versuch von Spring Data JPA mit STS
Wechseln Sie die Umgebung mit Spring Boot application.properties und @ Profile-Annotation
Feder mit Kotorin ―― 3. Auslassen von Wellenklammern aus der Funktion
Verwendungshinweis zu Spring Security: Zusammenarbeit mit Spring MVC und Boot
Spring Boot mit Spring Security Filter-Einstellungen und Suchtpunkten
Ich habe versucht, mit Spring Data JPA zu beginnen
Bis zur Verwendung von Spring Data und JPA Part 2
Unterschied zwischen Spring AOP und Bibliothekszielklasse
Bis zur Verwendung von Spring Data und JPA Part 1
Versuch, SSR Vue.js mit Spring Boot und GraalJS zu verwenden
Verbinden Sie Spring Boot und Angular typsicher mit OpenAPI Generator
abstrakt (abstrakte Klasse) und Schnittstelle (Schnittstelle)
Verwendung derselben Mapper-Klasse in mehreren Datenquellen mit Spring Boot + MyBatis
Spring Data JDBC-Vorschau
Selbstgemachte Validierung mit Spring
Klasse und Sofortteil2
Mit Kotorin ―― 7. Scoping-Funktion
Mit Spring Boot herunterladen
Federdaten Dynamodb-Falle
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java
Fensteraggregation von Sensordaten mit Apache Flink und Java 8
Behandeln Sie die Java 8-Datums- und Uhrzeit-API mit Thymeleaf mit Spring Boot
Ich habe das Spring Boot-Einführungshandbuch [Zugriff auf Daten mit JPA] ausprobiert.
Implementieren Sie die REST-API mit Spring Boot und JPA (Application Layer).
Implementieren Sie die REST-API mit Spring Boot und JPA (Infrastructure Layer).
Bis INSERT und SELECT für Postgres mit Spring Boot und Thymianblatt
Erstellen Sie eine API zum Senden und Empfangen von Json-Daten mit Spring
Stellen Sie mit spring boot + spring jpa eine Verbindung zur Datenbank her und führen Sie die CRUD-Operation durch
Fluss bis zur Ausgabe von Tabellendaten, die mit Spring Boot angezeigt werden sollen
Implementieren Sie die REST-API mit Spring Boot und JPA (Domain Layer Edition).
Domänengesteuerte Entwicklung mit Java und Spring Boot-Layer und Modulabteilung