Heim Backend-Entwicklung PHP-Tutorial javascript - Wie entwerfe ich ein API-Schnittstellen-Gateway?

javascript - Wie entwerfe ich ein API-Schnittstellen-Gateway?

Dec 01, 2016 am 01:27 AM
javascript nginx node.js php

Derzeit stellt eine Seite mehrere Schnittstellen zum Frontend bereit, aber jede Schnittstelle ist unabhängig.
Das Frontend möchte Daten von mehreren Schnittstellen mit einer Anfrage abrufen Zum Entwerfen eines Gateways.
Die Funktion lautet: Übergeben Sie mehrere Anforderungsschnittstellen gleichzeitig in ein Array und geben Sie sie an das Frontend zurück Die Idee ist, in der Mitte eine Knotenebene hinzuzufügen.
Haben Sie einen Rat?

PS: Die Schnittstellen sind redundant zusammengeführt und die Änderungen sind riesig~ und einer Erweiterung nicht förderlich. Daher wird diese Methode derzeit aufgegeben

Antwortinhalt:

Derzeit stellt eine Seite mehrere Schnittstellen zum Frontend bereit, aber jede Schnittstelle ist unabhängig.

Das Frontend möchte Daten von mehreren Schnittstellen mit einer Anfrage abrufen Zum Entwerfen eines Gateways.
Die Funktion lautet: Übergeben Sie mehrere Anforderungsschnittstellen gleichzeitig in ein Array und geben Sie sie an das Frontend zurück Die Idee ist, in der Mitte eine Knotenebene hinzuzufügen.
Haben Sie einen Rat?

PS: Die Schnittstellen sind redundant zusammengeführt und die Änderungen sind riesig~ und einer Erweiterung nicht förderlich. Daher wird diese Methode derzeit aufgegeben

Beim Zusammenführen von Schnittstellendaten müssen Sie

Probleme berücksichtigen, sobald die Daten zusammengeführt werden.

Wenn Sie diese Situation nicht berücksichtigen müssen, können Sie direkt eine zusätzliche Schnittstelle im Backend öffnen und alle vom Frontend gewünschten Daten direkt zurückgeben. Auf diese Weise ist es nicht erforderlich, in der Mitte eine zusätzliche Knotenebene hinzuzufügen数据量

Es ist möglich, den Front-End-Ajax zu ändern, z. B. den Ajax von jQuery zu ändern

Was wir erreichen wollen, ist die automatische Zusammenführung des Frontends. Die Logik ist wie folgt:

Legen Sie die Datenspezifikationen fest, die von der Hintergrundverpackungsschnittstelle zurückgegeben werden, z. B.:
<code>#1. 每当发起一个ajax请求时, 会暂存队列等待, 比如20ms
#2. 期间如果又发起了一个ajax请求, 该请求也会被放入队列, 等待下一个ajax()调用, 而20ms内没有ajax()调用, 则会拼接队列中的请求数据, 向服务端发起合并请求.
#3. 当然, 第一个ajax发起后, 会有个等待超时如80ms, 防止不停的等待, 第一个请求迟迟发不出
#4. GET和POST的队列分开
#5. 合并的请求数据结构, 如:
$.ajax({
    url: "http://mydomain.com/ajax_package",
    dataType:"text", // 数据类型为text, 需要分割解析, 把结果分配到指定请求回调
    data:{
        "actions":[ // 当然, 这个参数要json化, jQuery自动会urlencode
            {
                "callback": "pkg_callback_234244", // 创建回调handle
                "url": "ajax1_url",   // 请求1的url
                "data": "ajax1_data"  // 请求1的data
            },
            {
                "callback": "pkg_callback_424234", // 创建回调handle
                "url": "ajax2_url",   // 请求2的url
                "data": "ajax2_data"  // 请求2的data
            } // 更多合并的请求数据
        ]
    },
    success:function(res){
        dispatch(res); // 对响应内容进行数据提取并回调
    }
});</code>
Nach dem Login kopieren

Das heißt, die Struktur jedes Pakets ist hier definiert als>>>{callback}n{data}n<<<
<code>>>>pkg_callback_234244
{"status":0, "error":null, "data":[1,2,3,4]}
<<<
>>>pkg_callback_424234
{"status":0, "error":null, "data":{"logined":true}}
<<<Der Callback wird dem jQuery-Objekt hinzugefügt, wenn wir die Warteschlange verarbeiten. , wie zum Beispiel <p>
<br>
</p>Daten extrahieren und zurückrufen und dann ausführen <pre class="brush:php;toolbar:false"><code>jQuery.pkg_callback_424234 = {
    success: fucntion(data){}, // 等于或封装了原ajax请求的success方法回调
    error: function(err){}
}</code>
Nach dem Login kopieren

<code>jQuery.pkg_callback_424234.success.call(xhr, JSON.parse(data) );
// 移除回调
delete jQuery['pkg_callback_424234'];</code>
Nach dem Login kopieren
Die Schnittstelle zusammenführen und ihm alle Daten auf einmal geben? ?

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP: Datenbanken und serverseitige Logik bearbeiten PHP: Datenbanken und serverseitige Logik bearbeiten Apr 15, 2025 am 12:15 AM

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

Zweck von PHP: Erstellen dynamischer Websites Zweck von PHP: Erstellen dynamischer Websites Apr 15, 2025 am 12:18 AM

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

So starten Sie Nginx unter Linux So starten Sie Nginx unter Linux Apr 14, 2025 pm 12:51 PM

Schritte zum Starten von Nginx unter Linux: Überprüfen Sie, ob Nginx installiert ist. Verwenden Sie SystemCTL Start Nginx, um den Nginx -Dienst zu starten. Verwenden Sie SystemCTL aktivieren NGINX, um das automatische Start von NGINX beim Systemstart zu aktivieren. Verwenden Sie den SystemCTL -Status NGINX, um zu überprüfen, ob das Startup erfolgreich ist. Besuchen Sie http: // localhost in einem Webbrowser, um die Standard -Begrüßungsseite anzuzeigen.

Wie kann ich überprüfen, ob Nginx begonnen wird? Wie kann ich überprüfen, ob Nginx begonnen wird? Apr 14, 2025 pm 12:48 PM

Verwenden Sie unter Linux den folgenden Befehl, um zu überprüfen, ob Nginx gestartet wird: SystemCTL -Status Nginx Richter basierend auf der Befehlsausgabe: Wenn "aktiv: aktiv (lief) angezeigt wird, wird Nginx gestartet. Wenn "Active: Inactive (Dead)" angezeigt wird, wird Nginx gestoppt.

So lösen Sie Nginx403 So lösen Sie Nginx403 Apr 14, 2025 am 10:33 AM

Wie fixiere ich Nginx 403 Verbotener Fehler? Überprüfen Sie die Datei- oder Verzeichnisberechtigungen; 2.Htaccess -Datei prüfen; 3. Überprüfen Sie die Konfigurationsdatei der Nginx; 4. Starten Sie Nginx neu. Weitere mögliche Ursachen sind Firewall -Regeln, Selinux -Einstellungen oder Anwendungsprobleme.

See all articles