Ich habe versucht, Google HttpClient von Java zu verwenden

import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.UrlEncodedContent;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.JsonObjectParser;
import com.google.api.client.json.jackson2.JacksonFactory;
import lombok.Data;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Main {

    static JsonFactory JSON_FACTORY = new JacksonFactory();
    static HttpRequestFactory httpRequestFactory = (new NetHttpTransport()).createRequestFactory();

    public static void main(String[] args) throws IOException {
        Map<String, Object> params = new HashMap<>();
        params.put("id", 1234);

        String url = "http://127.0.0.1:8080/user";
        User map = postHttpRequest(url, params, User.class);
        System.out.println(map);
    }

    private static <T> T postHttpRequest(String url, Map<String, Object> params, Class<T> clazz) throws IOException {
        HttpRequest req = httpRequestFactory.buildPostRequest(
                new GenericUrl(url),
                new UrlEncodedContent(params));
        req.setParser(new JsonObjectParser(JSON_FACTORY));

        String json = req.execute().parseAsString();
        return new ObjectMapper().readValue(json, clazz);
    }

    @Data
    public static class User {
        private String id;
    }
}

Ich schrieb es. Der Google-Typ ist einfach, aber ich hatte das Gefühl, dass es nur wenige Post-Beispiele gibt.

req.execute().parseAs(Map.class)

Ich könnte so etwas machen, also dachte ich, es würde funktionieren, wenn ich die Klasse bestehen würde, aber ich könnte Map machen, aber ich könnte kein normales Vo machen. ..

Also habe ich Jackson benutzt.

Recommended Posts

Ich habe versucht, Google HttpClient von Java zu verwenden
Ich habe versucht, Java REPL zu verwenden
Ich habe versucht, JWT in Java zu verwenden
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe versucht, OpenCV mit Java + Tomcat zu verwenden
Ich habe versucht, Gson zu benutzen
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
Ich habe versucht, den Profiler von IntelliJ IDEA zu verwenden
Ich habe Drools (Java, InputStream) ausprobiert.
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, Metaprogrammierung mit Java
Ich habe versucht, die Server-Push-Funktion von Servlet 4.0 zu verwenden
Ich habe versucht, SQS mit AWS Java SDK zu betreiben
Ich habe versucht, Log4j2 auf einem Java EE-Server zu verwenden
Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Umgang mit Zeitzonen mit Java
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Ich habe das Java-Framework "Quarkus" ausprobiert.
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe versucht, Dapr in Java zu verwenden, um die Entwicklung von Mikroservices zu erleichtern
Ich habe einen RESAS-API-Client in Java erstellt
[Android] Ich habe versucht, das Koordinatorlayout zu verwenden.
Ich habe versucht, Pari GP Container zu verwenden
Zusammenfassung der objektorientierten Programmierung mit Java
Ich habe versucht, WebAssembly Stadio (Version 2018/4/17) zu verwenden.
Ich habe jetzt versucht, Java 8 zusammenzufassen
Ich habe den Eingabe- / Ausgabetyp von Java Lambda ~ Map Edition ~ ausprobiert
Ich habe versucht, die Cache-Funktion des Application Container Cloud Service zu verwenden
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Ich habe versucht, Realm mit Swift UI zu verwenden
Ich habe versucht, das Java-Diagnosetool Arthas zu verwenden
Ich habe versucht, UICollectionViewListCell zu verwenden, das von Xcode12 hinzugefügt wurde.
Ich habe Cassandras Object Mapper für Java ausprobiert
Java9 war enthalten, also habe ich jshell ausprobiert.
Ich habe versucht, Scalar DL mit Docker zu verwenden
Ich habe das neue Yuan-Problem in Java ausprobiert
Ich habe versucht, OnlineConverter mit SpringBoot + JODConverter zu verwenden
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Es ist neu, aber ich habe versucht, Groonga zu verwenden
Statusüberwachung von Java-Apps mit Elasticsearch
Erfassung von Eingabeinhalten mit Scanner (Java)
Ich habe Googles Aufnahmeprüfung (inoffiziell) [Java] ausprobiert.
Ich habe es mit Spring versucht.
Ich habe versucht, Tomcat zu setzen
Ich habe youtubeDataApi ausprobiert.
Ich habe versucht, ① umzugestalten
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich habe FizzBuzz ausprobiert.
[Java] Übersicht über Java
Ich habe JHipster 5.1 ausprobiert
Ich habe versucht, Junit mit Mac VScode Maven zu verwenden
[Für Anfänger] Ich habe versucht, DBUnit mit Eclipse zu verwenden
Ich habe versucht, Java einfach auf meinen Mac zu bringen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
[Für Anfänger] Ich habe versucht, JUnit 5 mit Eclipse zu verwenden