J'ai essayé d'utiliser Google HttpClient de Java

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;
    }
}

Je l'ai écrit. Le gars de Google est simple, mais j'ai senti qu'il y avait peu d'échantillons de Post.

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

Je pourrais faire quelque chose comme ça, alors j'ai pensé que ça marcherait si je réussissais le cours, mais je pouvais faire Map, mais je ne pouvais pas faire de voix normale. ..

J'ai donc utilisé jackson.

Recommended Posts

J'ai essayé d'utiliser Google HttpClient de Java
J'ai essayé d'utiliser Java REPL
J'ai essayé d'utiliser JWT en Java
J'ai essayé d'utiliser l'API Elasticsearch en Java
J'ai essayé d'utiliser OpenCV avec Java + Tomcat
J'ai essayé d'utiliser Gson
J'ai essayé d'utiliser TestNG
J'ai essayé d'utiliser Galasa
J'ai essayé d'utiliser le profileur d'IntelliJ IDEA
J'ai essayé Drools (Java, InputStream)
J'ai essayé d'utiliser Apache Wicket
J'ai essayé la métaprogrammation avec Java
J'ai essayé d'utiliser la fonction Server Push de Servlet 4.0
J'ai essayé de faire fonctionner SQS en utilisant AWS Java SDK
J'ai essayé d'utiliser Log4j2 sur un serveur Java EE
J'ai essayé d'utiliser Spring + Mybatis + DbUnit
J'ai essayé de résumer les bases de kotlin et java
Gestion des fuseaux horaires avec Java
J'ai essayé d'interagir avec Java
J'ai essayé la communication UDP avec Java
J'ai essayé le framework Java "Quarkus"
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé d'utiliser Dapr en Java pour faciliter le développement de microservices
J'ai créé un client RESAS-API en Java
[Android] J'ai essayé d'utiliser la disposition du coordinateur.
J'ai essayé d'utiliser le conteneur Pari gp
Résumé de la programmation orientée objet utilisant Java
J'ai essayé d'utiliser WebAssembly Stadio (version 2018/4/17)
J'ai essayé de résumer Java 8 maintenant
J'ai essayé le type d'entrée / sortie de Java Lambda ~ Map edition ~
J'ai essayé d'utiliser la fonction de cache d'Application Container Cloud Service
J'ai essayé de résumer les méthodes de Java String et StringBuilder
J'ai essayé d'utiliser Realm avec Swift UI
J'ai essayé d'utiliser l'outil de diagnostic Java Arthas
J'ai essayé d'utiliser UICollectionViewListCell ajouté à partir de Xcode12.
J'ai essayé le mappeur d'objets de Cassandra pour Java
Java9 était inclus, j'ai donc essayé jshell.
J'ai essayé d'utiliser Scalar DL avec Docker
J'ai essayé le nouveau yuan à Java
J'ai essayé d'utiliser OnlineConverter avec SpringBoot + JODConverter
[jour: 5] J'ai résumé les bases de Java
C'est nouveau, mais j'ai essayé d'utiliser Groonga
Surveillance de l'état des applications Java à l'aide d'Elasticsearch
Acquisition du contenu d'entrée à l'aide de Scanner (Java)
J'ai essayé l'examen d'entrée de Google (non officiel) [java]
J'ai essayé Spring.
J'ai essayé de mettre Tomcat
J'ai essayé youtubeDataApi.
J'ai essayé de refactoriser ①
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
J'ai essayé FizzBuzz.
[Java] Présentation de Java
J'ai essayé JHipster 5.1
J'ai essayé d'utiliser Junit avec Mac VScode Maven
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
J'ai essayé de mettre facilement Java sur mon Mac
J'ai essayé de faire une authentification de base avec Java
[Pour les débutants] J'ai essayé d'utiliser JUnit 5 avec Eclipse