Erstellen Sie eine API mit Retrofit2, Okhttp3 und Gson (Java).

Ein Memorandum beim Erstellen der API. Damit konnte ich vorerst ohne ausführliche Erklärung kommunizieren.

Verfahren

Stellen Sie manifestFile ein, um die Kommunikation zu ermöglichen

AndroidManifest.Schreiben Sie Folgendes in XML




#### **`AndroidManifest.xml`**
```java

<uses-permission android:name="android.permission.INTERNET" />

Definieren Sie eine Klasse für den Empfang von Anforderungen und Antworten

Anforderungsklasse für die Anmeldung, der Hauptteil der Anforderung wird in diesem Format gesendet

LoginRequest.java


package com.example.bookmanager_android.models.requests;

public class LoginRequest {
    private String email;
    private String password;

    public LoginRequest(String email, String passWord){
        this.email = email;
        this.password = passWord;
    }
}

Antwortklasse für die Anmeldung, Antwort wird in diesem Formular empfangen

LoginResponse.java


package com.example.bookmanager_android.models.requests.response;

public class LoginResponse {
    public int status;
    public Result result;

    public static class Result {
        public int id;
        public String email;
        public String token;
    }
}

Erstellen Sie einen Endpunkt

Schnittstelle erstellen

RequestApiService



public interface RequestApiService {
    @POST("/login") //API-Endpunkt
    Call<LoginResponse> logIn(@Body LoginRequest requestBody); 
    //Wenn die Anmeldemethode aufgerufen wird,Das Body-Format ist die Form der oben erstellten LoginRequest-Klasse.
}

Erstellen eines HTTP-Clients

HttpClient.java


public class HttpClient {
    public static RequestApiService apiService;

    private static final String URL = "http://baseurl"; //Geben Sie BaseUrl an

    // Okhttp
    private static final OkHttpClient client = new OkHttpClient.Builder()
            .connectTimeout(10, TimeUnit.SECONDS)
            .writeTimeout(10, TimeUnit.SECONDS)
            .readTimeout(30, TimeUnit.SECONDS)
            .build();
    // GSON
    private static final Gson gson = new GsonBuilder()
            .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
            .create();

    //Erstellen Sie einen HTTP-Client, indem Sie Retrofit mit GSON und Okhttp kombinieren
    public static RequestApiService getRequestApiService() {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(URL)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .client(client)
                .build();
        apiService = retrofit.create(RequestApiService.class);
        return apiService;
    }

Lauf

SignInFragment.java



private boolean starLogin(String emailStr, String passwordStr) {
        //Einen Körper schaffen
        LoginRequest requestBody = new LoginRequest(emailStr, passwordStr);
        //HTTP-Client-Aufruf
        RequestApiService apiService = HttpClient.getRequestApiService();

        //Kommunikationsstart: Der in der Schnittstelle definierte Prozess wird aufgerufen
        apiService.logIn(requestBody).enqueue(new Callback<LoginResponse>() {
            @Override
            public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
                if (response.isSuccessful()) {
                   //Beschreibt die Verarbeitung bei erfolgreicher Kommunikationsverarbeitung
                } else {
                    Log.e("SignInFragment", "Something wrong On Response: " + response.toString());   
                }
            }

            @Override
            public void onFailure(Call<LoginResponse> call, Throwable t) {
                //Beschreibt die Verarbeitung, wenn die Kommunikationsverarbeitung fehlschlägt
            }
        });
        return true;
    }

Impressionen

Es gibt immer noch Dinge wie das Halten von Token und die Verarbeitung, wenn Erfolg oder Misserfolg auftreten, aber vorerst war Kommunikation möglich.

Recommended Posts

Erstellen Sie eine API mit Retrofit2, Okhttp3 und Gson (Java).
Hinweise zur Implementierung der Google Books-API in den Versionen Java Okhttp und Gson sowie Okhttp und Jackson
Tipps zur Verwendung von Salesforce SOAP und Bulk API in Java
Erstellen wir ein Datei-Upload-System mit der Azure Computer Vision-API und dem Java SDK von Azure Storage
Exportieren Sie ein Problem mithilfe der Java-API von JIRA
Erstellen Sie ein Java-Projekt mit Eclipse
Ich habe versucht, die Java8 Stream API zu verwenden
[Android] Konvertieren Sie Map in JSON mit GSON mit Kotlin und Java
[Java] Erstellen und Anwenden eines Folienmasters
Datenverarbeitung mit der Stream-API von Java 8
Versuchen Sie es mit der Stream-API in Java
Heutzutage Java Lambda Expressions und Stream API
Java-Implementierung zum Erstellen und Lösen von Labyrinthen
Versuchen Sie es mit der JSON-Format-API in Java
Erstellen Sie mit Grape einen RESTful-API-Service
Zusammenarbeit zwischen Java und Derby mit JDBC (mit NetBeans)
Installieren Sie Docker und erstellen Sie eine Java-Ausführungsumgebung
[Java] Abrufen und Anzeigen des Datums 10 Tage später mithilfe der von Java 8 hinzugefügten Zeit-API.
Interagieren Sie mit der LINE Message API mit Lambda (Java)
Installieren Sie Java und Android-SDK auf dem Mac mit Homebrew
Erstellen wir eine REST-API mit WildFly Swarm.
ChatWork4j für die Verwendung der ChatWork-API in Java
[Java] API-Erstellung mit Jerjey (Jax-rs) mit Eclipse
[Java] Erstellen Sie so etwas wie eine Produktsuch-API
Versuchen Sie, die Cloud Vision-API von GCP in Java zu verwenden
Methode zur Erfassung von Datum und Uhrzeit mithilfe der DateAndTime-API
Versuchen Sie es mit der Syntaxanalyse der COTOHA-API in Java
Java Stream API
Java und JavaScript
XXE und Java
Erstellen Sie eine Java-Entwicklungsumgebung mit jenv auf Ihrem Mac
Konvertieren Sie JSON und YAML in Java (mit Jackson und SnakeYAML)
Versuchte Mastodons Toot- und Streaming-API in Java
[Java] Sortieren Sie die Liste mit Streams und Lambda-Ausdrücken
[Inhouse-Lernsitzung] Java-Grundlagen - Lambda-Ausdruck und Stream-API - (13.07.2017)
Installieren Sie Java und Maven mit Brew auf einem neuen Mac
Erstellen Sie zwei oder mehr Liniendiagramme mit MPAndroidChart [Java]
Erstellen Sie eine umgebungsunabhängige Kriegsdatei mit Mavens Profilen und dem Maven-Kriegs-Plugin
Untersuchen Sie HTML-Elemente und erstellen Sie eine Seitenklasse (mit Selenide).
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
[Rails] Erstellen Sie eine Sitemap mit sitemap_generator und stellen Sie sie in GAE bereit
[Java] Konvertieren Sie JSON in Java und Java in JSON-How to use GSON and Jackson-
Erstellen Sie eine JAVA WEB App und probieren Sie OMC APM aus
Konvertieren Sie mit Moshi zwischen Java-Objekten und JSON
[Java10] Achten Sie darauf, var und generics nicht zusammen zu verwenden
[Java] Entwicklung mit mehreren Dateien mittels Paket und Import