Ce chat de Metadata Co., Ltd. Appelle l'API cat en Java.

1.Tout d'abord

Il est nécessaire de s'inscrire en tant qu'utilisateur de Metadata Co., Ltd. et de définir un ID utilisateur et un mot de passe.

Pour vous inscrire en tant qu'utilisateur, veuillez vous rendre sur ici.

2. Lien avec l'API

Je ne savais pas comment lier l'API, mais j'ai essayé diverses choses et me suis installé sur les sources suivantes. Il semble communiquer avec ** POST **, et si vous définissez les données d'image dans la partie image, JSON sera renvoyé avec succès. J'ai fait en sorte que les données d'image soient envoyées en Byte, alors souhaitez-vous les importer dans l'application?

pom.xml


<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.10</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpmime</artifactId>
    <version>4.5.10</version>
</dependency>

WhatCat.java


import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.HttpClientBuilder;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 *Quel est ce chat? API.
 *
 * @author H.Aoshima
 * @version 1.0
 *
 */
public final class WhatCat {

    /**
     * URI.
     */
    private static final String SUGGETS_URL = "http://whatcat.ap.mextractr.net/api_query";

    /**
     *Courir.
     * @param octets données d'image
     * @param fileName Nom du fichier image
     * @param userName Nom d'utilisateur
     * @mot de passe param mot de passe
     * @retourne le résultat du jugement
     * @jette une exception de protocole ClientProtocolException Client
     * @lève une exception IOException IO
     */
    public static List<Object> exec(final byte[] bytes, final String fileName, final String userName, final String password)
            throws ClientProtocolException, IOException {

        //Valeur de retour
        List result = null;

        //Création de client
        final HttpClient client = HttpClientBuilder.create().build();
        //Jeu de caractères lors du remplacement par un tableau d'octets avant l'encodage
        final Charset charset = StandardCharsets.UTF_8;
        //La chaîne que vous souhaitez encoder
        final String source = userName + ":" + password;
        //Processus d'encodage
        final String encoding = Base64.getEncoder().encodeToString(source.getBytes(charset));
        final HttpPost post = new HttpPost(WhatCat.SUGGETS_URL);
        post.setHeader("Authorization", "Basic " + encoding);

        //Définir la valeur de l'image dans MultipartEntityBuilderi
        final MultipartEntityBuilder builder = MultipartEntityBuilder.create();
        builder.addBinaryBody("image", bytes, ContentType.MULTIPART_FORM_DATA, fileName);

        post.setEntity(builder.build());

        //Avoir une réponse
        final HttpResponse response = client.execute(post);
        final HttpEntity responseEntity = response.getEntity();

        if (response.getStatusLine().getStatusCode() == 200) {
            //Obtenez de la valeur
            final InputStream is = responseEntity.getContent();
            final Reader r = new InputStreamReader(is, charset);

            ObjectMapper mapper = new ObjectMapper();
            result = mapper.readValue(r, new TypeReference<List<Object>>() {});
        }

        return result;
    }

}

Recommended Posts

Ce chat de Metadata Co., Ltd. Appelle l'API cat en Java.
Appelez l'API de notification Windows en Java
API Zabbix en Java
Appelez l'API Amazon Product Advertising 5.0 (PA-API v5) en Java
L'histoire de Java dans ce monde
API Java Stream en 5 minutes
Comment appeler et utiliser l'API en Java (Spring Boot)
Implémentation Java de tri-tree
Exemple de code pour appeler l'API Yahoo! Local Search en Java
Générer l'URL de l'API CloudStack en Java
Liste des membres ajoutés dans Java 9
Hit l'API de Zaim (OAuth 1.0) en Java
Analyser l'analyse syntaxique de l'API COTOHA en Java
Appelez l'API Java de TensorFlow depuis Scala
Liste des types ajoutés dans Java 9
JPA (API de persistance Java) dans Eclipse
Implémentation d'une fonction similaire en Java
Appelez la super méthode en Java
Ceci et cela de la mise en œuvre du jugement en temps réel des dates en Java
J'ai essayé d'utiliser l'API Elasticsearch en Java
Implémentation de DBlayer en Java (RDB, MySQL)
Obtenez le résultat de POST en Java
Implémenter l'autorisation API Gateway Lambda dans Java Lambda
Étude de Java 8 (API de date dans le package java.time)
Appeler l'API GitHub à partir de l'API Socket de Java, partie 2
Appel de méthodes Java à partir de JavaScript exécutées en Java
Essayez d'utiliser l'API Stream en Java
Essayez d'utiliser l'API au format JSON en Java
L'histoire de l'écriture de Java dans Emacs
Appeler la reconnaissance visuelle dans Watson Java SDK
Rôle de JSP dans les applications Web [Java]
Discrimination d'énum dans Java 7 et supérieur