Ein von API Gateway generiertes Android-SDK für eine REST-API verwenden - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ein von API Gateway generiertes Android-SDK für eine REST-API verwenden

In diesem Abschnitt beschreiben wir die Schritte zur Verwendung eines Android-SDKs, das mit API Gateway für eine REST-API generiert wurde. Bevor Sie fortfahren, müssen Sie die unter Generieren Sie SDKs für REST-APIs in API Gateway beschriebenen Schritte ausführen.

Anmerkung

Das generierte SDK ist nicht mit Android 4.4 und früheren Versionen kompatibel. Weitere Informationen finden Sie unter Wichtige Hinweise zu Amazon API Gateway.

So installieren und verwenden Sie ein Android-SDK, das von API Gateway generiert wurde:
  1. Extrahieren Sie den Inhalt der von API Gateway generierten ZIP-Datei, die Sie zuvor heruntergeladen haben.

  2. Laden Sie Apache Maven (vorzugsweise Version 3.x) herunter und installieren Sie das Programm.

  3. Laden Sie JDK 8 herunter und installieren Sie die Software.

  4. Legen Sie die JAVA_HOME-Umgebungsvariable fest.

  5. Führen Sie den Befehl mvn install aus, um die kompilierten Artefaktdateien in Ihrem lokalen Maven-Repository zu installieren. Dadurch wird ein Ordner namens target erzeugt, der die kompilierte SDK-Bibliothek enthält.

  6. Kopieren Sie die SDK-Datei (ihr Name leitet sich von der Artifact-ID und der Artifact-Version ab, die Sie beim Generieren des SDK angegeben haben, z. B. simple-calcsdk-1.0.0.jar) aus dem Ordner target sowie alle anderen Bibliotheken aus dem Ordner target/lib in den Ordner lib in Ihrem Projekt.

    Bei Verwendung von Android Studio erstellen Sie unterhalb des Client-App-Moduls einen Ordner namens libs und kopieren Sie die erforderliche JAR-Datei in diesen Ordner. Überprüfen Sie, ob der Abschnitt mit den Abhängigkeiten in der gradle-Datei folgende Informationen enthält.

    compile fileTree(include: ['*.jar'], dir: 'libs') compile fileTree(include: ['*.jar'], dir: 'app/libs')

    Stellen Sie sicher, dass keine doppelten JAR-Dateien deklariert werden.

  7. Verwenden Sie die ApiClientFactory-Klasse, um das von API Gateway generierte SDK zu initialisieren. Beispielsweise:

    ApiClientFactory factory = new ApiClientFactory(); // Create an instance of your SDK. Here, 'SimpleCalcClient.java' is the compiled java class for the SDK generated by API Gateway. final SimpleCalcClient client = factory.build(SimpleCalcClient.class); // Invoke a method: // For the 'GET /?a=1&b=2&op=+' method exposed by the API, you can invoke it by calling the following SDK method: Result output = client.rootGet("1", "2", "+"); // where the Result class of the SDK corresponds to the Result model of the API. // // For the 'GET /{a}/{b}/{op}' method exposed by the API, you can call the following SDK method to invoke the request, Result output = client.aBOpGet(a, b, c); // where a, b, c can be "1", "2", "add", respectively. // For the following API method: // POST / // host: ... // Content-Type: application/json // // { "a": 1, "b": 2, "op": "+" } // you can call invoke it by calling the rootPost method of the SDK as follows: Input body = new Input(); input.a=1; input.b=2; input.op="+"; Result output = client.rootPost(body); // where the Input class of the SDK corresponds to the Input model of the API. // Parse the result: // If the 'Result' object is { "a": 1, "b": 2, "op": "add", "c":3"}, you retrieve the result 'c') as String result=output.c;
  8. Um einen Amazon Cognito Cognito-Anmeldeinformationsanbieter zu verwenden, um Aufrufe an Ihre API zu autorisieren, verwenden Sie die ApiClientFactory Klasse, um mithilfe des von API Gateway generierten SDK eine Reihe von AWS Anmeldeinformationen zu übergeben, wie im folgenden Beispiel gezeigt.

    // Use CognitoCachingCredentialsProvider to provide AWS credentials // for the ApiClientFactory AWSCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider( context, // activity context "identityPoolId", // Cognito identity pool id Regions.US_EAST_1 // region of Cognito identity pool ); ApiClientFactory factory = new ApiClientFactory() .credentialsProvider(credentialsProvider);
  9. Zum Festlegen eines API-Schlüssels unter Verwendung des von API Gateway generierten SDKs verwenden Sie einen Code ähnlich dem folgenden.

    ApiClientFactory factory = new ApiClientFactory() .apiKey("YOUR_API_KEY");