5 einfache Schritte zum Erstellen eines Servers zum Testen von Android-REST-Anforderungen

Guten Tag.

Vor nicht allzu langer Zeit bestand die Notwendigkeit, in einer Android-Anwendung die Kommunikation mit der Server-API über REST-Anforderungen zu implementieren. Die Implementierung des Softwareteils auf Android war aufgrund des Vorhandenseins einer praktischen und einfachen Retrofit- Bibliothek nicht schwierig. Nachdem jedoch einige GET / POST-Anforderungen an vorhandene offene APIs (z. B. Github und andere Standardbeispiele für Nachrüstungen) geschrieben wurden, musste mit dem Testen der Anwendungslogik begonnen werden. In diesem Fall hätte ich natürlich gerne einen eigenen Server, der seine Datenmodelle enthält und Verbindungen zwischen Modellen sowie verschiedene Zugriffsebenen auf bestimmte Datenmodelle aufweist. In diesem Artikel möchte ich Ihnen erklären, wie Sie in wenigen Schritten einen lokalen Server erstellen, die erforderlichen Modelle hinzufügen, die Beziehungen zwischen ihnen konfigurieren und den Remotezugriff auf diesen Server bereitstellen.

Ich möchte sofort klarstellen, um Missverständnisse der Leser zu vermeiden:
Ich und diejenigen, für die dieser Artikel bestimmt ist, sind ein Neuling in der Implementierung des Serverteils, der zufällig in eine Situation geraten ist, in der ich gezwungen war, die API so schnell wie möglich für mich selbst zu erhöhen, um die Android-Anwendung zu testen. Alle Informationen, die im Artikel Stück für Stück präsentiert werden, finden Sie auf den Freiflächen von Google und Youtube. Wenn Sie wissen, wonach Sie suchen müssen, ist es nicht schwierig, sie zu finden und zu einem Ganzen zusammenzufügen. Dies braucht jedoch Zeit, um Entscheidungen über die technologische Implementierung zu treffen und nach Informationen für jede spezifische Entscheidung zu suchen.

1. NodeJS und Loopback


Das erste, was Sie sofort klarstellen müssen, ist, dass der Server mithilfe des Lodeback Node.js-Frameworks implementiert wird. Installieren Sie zuerst Node.js. selbst. Die neueste Version von Node.js befindet sich auf der Website nodejs.org/en/download . Laden Sie sie herunter und installieren Sie sie.
Führen Sie danach die Befehlszeile aus, geben Sie den folgenden Befehl ein und warten Sie auf das Ende des Vorgangs:

npm install -g loopback-cli 


2. Erstellen Sie eine Anwendung


Um eine neue Anwendung (Ihren Server) für das Loopback- Framework zu erstellen, wechseln Sie in das Verzeichnis, in dem sich Ihr Server in der Befehlszeile befindet, geben Sie den Befehl lb ein und beantworten Sie eine Reihe von Fragen zur Anwendung, darunter:

  • Anwendungsname (in meinem Fall test_server)
  • Verzeichnisname für das Projekt (leer lassen, dann wird in diesem Verzeichnis ein Ordner mit dem Projektnamen erstellt)
  • LoopBack-Version (aktuelle Version auswählen)
  • Art der Anwendung (formal - eine Anwendungsvorlage. Wählen Sie API-Server)



Wechseln Sie nach Abschluss des Erstellungsprozesses der Anwendung in den erstellten Ordner mit den Anwendungsdateien und versuchen Sie, ihn mit dem folgenden Befehl auszuführen:

 node . 

Die Anwendung wird unter der lokalen Adresse ausgeführt: localhost: 3000 / explorer . Darüber hinaus verfügt die Anwendung bereits über ein Benutzermodell und eine Reihe von REST-Funktionen.



Formal ist Ihr Server bereit und verarbeitet lokale Anforderungen erfolgreich. Sie können die Verfügbarkeit und den Betrieb des Servers mit der Postman- Anwendung oder Ihrer Android-Anwendung überprüfen.

3. Modelle und Beziehungen


Als Nächstes müssen Sie Modelle mit Daten und den Beziehungen zwischen ihnen erstellen. Betrachten Sie ein einfaches Beispiel für ein Modell und Beziehungen: Stellen Sie sich vor, unsere Anwendung bietet Feedback zu Filmen. Sie geben den Namen des Films ein und sollten alle Rezensionen für diesen bestimmten Film erhalten. Im primitivsten Fall sollten daher zwei Modelle in der Datenbank gespeichert werden: Film (mit Feldern: Name, Jahr) und Review (Autor, Beschreibung). Die Beziehung zwischen den Modellen ist wie folgt, ein Film kann viele Kritiken haben.

Daher hat eine REST-Anfrage für Filme einen solchen localhost: 3000 / api / Movies- Link und einen localhost: 3000 / api / Movies / {id} / Reviews zur Liste der Reviews

Erstellen Sie diese beiden Modelle auf dem Server:

 lb model 

Wir werden folgende Fragen zum Modell beantworten:

  • Modellname (z. B. Film)
  • Datenquelle für die Verbindung (wählen Sie db (Speicher))
  • Basisklasse des Modells (wählen Sie PersistedModel)
  • Modell mit REST-API anzeigen (Ja)
  • benutzerdefinierte Pluralform (leer lassen)
  • nur allgemeines Modell oder Server (allgemein auswählen)

Jetzt wird das Modell erstellt und Sie müssen Felder hinzufügen (für Film z. B. Name und Jahr):

  • Eigenschaftsname (z. B. Name)
  • Eigenschaftstyp (z. B. Zeichenfolge)
  • ist obligatorisch (Ja)
  • Modell mit REST-API anzeigen (Ja)
  • Standardwert (leer lassen)



Nachdem Sie alle Eigenschaften hinzugefügt haben und das Angebot zum Hinzufügen einer weiteren Eigenschaft angezeigt haben, drücken Sie einfach die Eingabetaste. Fügen Sie auch das zweite Modell hinzu.
Jetzt müssen Sie die Beziehung zwischen ihnen konfigurieren. Wir schreiben ein Team und beantworten die Fragen:

 lb relation 

  • Wählen Sie ein Modell aus, um eine Beziehung zu erstellen (z. B. Film).
  • Art der Verbindung (wählen Sie hat viele (eins zu viele), da ein Film viele Kritiken hat)
  • Wählen Sie ein Modell für die Beziehung (in unserem Fall Review).
  • Kommunikationsname (beliebig, ich werde Bewertungen schreiben)
  • Benutzerschlüssel (leer lassen)
  • Zwischenmodell (Nein)
  • Verschachtelung zulassen (Nein)
  • Trennen Sie die Kommunikation von den folgenden verbundenen Objekten (Nein).



Das ist alles. Starten Sie nun den Server mit demselben Befehl wie zuvor und sehen Sie sich localhost: 3000 / explorer an . Wir sehen, dass wir unsere Modelle haben und wir können die Beziehung zwischen ihnen durch ID sehen .



4. Fernzugriff auf den Server


Jetzt ist der Zugriff auf den Server auf das Heimnetzwerk beschränkt, was beim Testen vom Telefon aus nicht sehr praktisch ist. Versuchen wir, Ihren Server remote zu machen. Laden Sie dazu ngrok herunter, entpacken Sie es an einem beliebigen Ort und starten Sie es. Dieses Programm wurde entwickelt, um einen Tunnel für Ihren lokalen Host zu erstellen : 3000 , um über den generierten Link einen Remotezugriff für ihn zu erstellen. Geben Sie den folgenden Befehl in ngrok ein:

 npm install ngrok -g ngrok http 3000 




Wir sehen, dass das Programm einen Tunnel erstellt hat und Ihr Server nun unter dem angegebenen Link verfügbar ist. Beachten Sie, dass sich bei jedem Neustart des PCs der Link in ngrok ändert.

Fazit


Es wurde oben eine ziemlich grobe und trockene Beschreibung des Prozesses zum Erstellen eines einfachen NodeJs-Servers zum Testen Ihrer Android-Anwendung vorgestellt. Natürlich gibt es auch mit diesen 4 Schritten, die ich beschrieben habe, viele Nuancen.

Zusätzlich zu dem, was ich bereits beschrieben habe, können Sie mit nur einem Befehl die Zugriffsebene auf die API ändern und die Benutzerauthentifizierung organisieren. Wenn jemand interessiert ist - stellen Sie Fragen in den Kommentaren - ich werde antworten. Das Framework selbst verfügt über eine ziemlich detaillierte Dokumentation , einschließlich der ins Russische übersetzten Startkapitel (allerdings für Version 2.0 mit einem anderen Befehlssatz).

Ja, es ist primitiv, irgendwo technisch dumm, irgendwo zu einfach, aber für eine Person, die nicht an Servertechnologien beteiligt ist und eine schnelle Lösung zum Testen ihrer Hauptaufgaben benötigt, ist diese Lösung so einfach und schnell wie möglich.

Source: https://habr.com/ru/post/de420993/


All Articles