2016-06-09 2 views
0

Wenn ich in meinem Programm node.js/express.js zwei "get" -Ressourcen habe, kann ich die erste Ressource in der zweiten Ressource verwenden?Express.js | Node.js - Kann ich eine Ressource in einer anderen Ressource verwenden?

Beispiel:

var express = require('express'); 

var app = express(); 

app.get('/resource1', function (req, res) { 
    res.send("Hello"); 
} 

app.get('/resource2', function (req, res) { 

    // Can I use the response from resource1 here? 

} 

Wenn ja, wie kann ich das tun?

Antwort

2

Sie können versuchen, 2 Dinge zu tun:

  1. Sie eine HTTP-Anforderung von resource2 von dort die Antwort auf Resource1 machen und zu erhalten.

  2. Die bessere Lösung in meinen Augen ist es, Resource1-Logiken in eine "Business Logics" -Funktion zu setzen und diese Funktion vom Resource2-Endpunkt aus aufzurufen.

Sie können auch die tatsächliche Anforderungsfunktion von resource1 aufrufen, wenn Sie den Code neu schreiben:

app.get('/resource1', resource1Func); 

function resource1Func(req, res) 
{ 
    res.send("Hello"); 
} 

app.get('/resource2', function (req, res) { 
    resource1Func(res, res); 
    //some other logics 
} 
+0

Aber wenn ich die Funktion in resource2 nennen, kippe ich einige andere Logiken danach tun, weil Header bereits gesendet werden. Weil die Funktion ressource1 den Text sendet. – Nono

+0

Das stimmt, deshalb ist mein Vorschlag Nummer 2 wahrscheinlich die beste Lösung für Sie. Kannst du näher erläutern, was genau du zu erreichen versuchst? –

+0

Ich habe zwei Ressourcen. Bücher und Bibliotheken. Eine Ressource gibt mir alle Bibliotheken und eine gibt mir ein Buch nach ID. Die Bücher sind JSON-Strings und enthalten die IDs aller Bibliotheken, in denen das Buch verfügbar ist. Jetzt möchte ich die "Gib mir alle Bibliotheken Ressource" mit "Gib mir alle Bibliotheken, die ein bestimmtes Buch halten" erweitern. Und dafür möchte ich das "Gib mir ein Buch nach ID-Ressource" verwenden. Wenn ich die IDs der Bibliotheken, die das Buch enthalten, bekomme, kann ich sie in der Ressource "Gib mir alle Bibliotheken" filtern. – Nono

Verwandte Themen