[JAVA] Konvertieren Sie Anforderungsparameter im Frühjahr in Enum

Einführung

Ich suchte nach einer guten Methode, weil es schwierig war, den von Enum zu behandelnden Wert einmal mit String zu erhalten und zu konvertieren.

Konvertierungsmethode

Bereiten Sie eine Aufzählung vor und schreiben Sie den Erfassungs- und Generierungsprozess mit "@ JsonValue" und "@ JsonCreator".

EnvironmentType.java


import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

import java.util.stream.Stream;

public enum EnvironmentType {
    PRODUCTION(1),
    STAGE(2),
    DEVELOP(3);

    private int value;

    EnvironmentType(int value) {
        this.value = value;
    }

    @JsonValue
    public int getValue() {
        return value;
    }

    @JsonCreator
    public static EnvironmentType create(Integer value) {
        if (value == null) {
            return null;
        }
        return Stream.of(values())
                .filter(v -> value.equals(v.getValue()))
                .findFirst()
                .orElseThrow(() -> new IllegalArgumentException());
    }
}

Definieren Sie Eigenschaften mithilfe des Aufzählungstyps für die in der Anforderung verwendete Bean.

Request.java


import EnvironmentType;

public class Request {
    private EnvironmentType type;

    public EnvironmentType getType() {
        return type;
    }

    public void setType(EnvironmentType type) {
        this.type = type;
    }
}

Am Ende

Es war einfach, mit Jacksons Anmerkungen zu schreiben.

Recommended Posts

Konvertieren Sie Anforderungsparameter im Frühjahr in Enum
Siehe Aufzählung in Thymeleaf
Wie man Lombok im Frühling benutzt
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
Konvertieren Sie SVG-Dateien in Java in PNG-Dateien
Antwortdaten direkt im Frühjahr schreiben
Wie Bean-Eigenschaften Anforderungsparameter im Listenstil in Spring binden
Mit Rails in eine Tag-zu-URL-Zeichenfolge konvertieren
Anforderungs- und Antwortprotokolle mit Spring Boot ausgeben
JUnit 5: Wie man Testfälle in enum schreibt
[Java] Konvertieren Sie DB-Code mit enum in einen Codewert
So fügen Sie in Spring Boot einen Klassenpfad hinzu
Ordnen Sie GET-Anforderungen im Frühjahr komplexen Objekten zu.
Beispiel für die Ausgabe eines Parameterprotokollprotokolls Java & Spring MVC
So binden Sie mit einer Eigenschaftendatei in Spring Boot
So definieren Sie mehrere orm.xml in Spring4, JPA2.1
Konvertieren Sie Java Enum Enumeration und JSON von und nach Jackson
Beispielcode zum Konvertieren von List in List <String> in Java Stream
[Ruby on Rails] Wie schreibe ich eine Enumeration auf Japanisch?
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
Konvertieren Sie die CSV-Datei mit enum in eine Datensatzdatei mit fester Länge
Verwendung von CommandLineRunner im Spring Batch von Spring Boot
So testen Sie den Bildschirm zum Hochladen von Dateien mit Spring + Selenium
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Führen Sie swagger-ui in die in Spring Boot implementierte REST-API ein
So konvertieren Sie eine Datei in ein Byte-Array in Java
Verwendung des In-Memory-Job-Repositorys mit Spring Batch
Injizieren Sie den Logger im Frühjahr
Debuggen mit Eclipse
Verwenden Sie Interceptor im Frühjahr
Microservices in Spring Cloud
Holen Sie sich Cookies im Frühling
Lassen Sie uns herausfinden, wie Sie mit Request Body mit der REST-API von Spring Boot empfangen können
So ändern Sie den Einstellungswert von application.properties beim Booten im Frühjahrsstart
Verstehen Sie den groben Fluss von der Anforderung zur Antwort in SpringWebMVC
Konvertieren Sie ein Java-Byte-Array in eine hexadezimale Zeichenfolge
Aufrufen und Verwenden der API in Java (Spring Boot)
Verwendung des Java-Aufzählungstyps (Enum) in Mapper XML von MyBatis
Erstellen Sie eine API zum Senden und Empfangen von Json-Daten mit Spring
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
So erhalten Sie eine leere Anfrage mit Spring Web MVC @RequestBody
Richten Sie Multipart Resolver ein, damit Spring Dateien hochladen kann
[Rails] So schreiben Sie user_id (externer Schlüssel) in einen starken Parameter
Verwenden Sie im Spring Boot @ControllerAdvice, @ExceptionHandler, HandlerExceptionResolver, um Ausnahmen abzufangen
So steuern Sie Transaktionen in Spring Boot ohne Verwendung von @Transactional