Koa.js - Antwortobjekt

Ein Koa-Antwortobjekt ist eine Abstraktion über dem Vanille-Antwortobjekt des Knotens und bietet zusätzliche Funktionen, die für die tägliche Entwicklung von HTTP-Servern nützlich sind. Das Koa-Antwortobjekt ist in das Kontextobjekt eingebettet.this. Lassen Sie uns das Antwortobjekt abmelden, wenn wir eine Anfrage erhalten.

var koa = require('koa');
var router = require('koa-router');
var app = koa();

var _ = router();

_.get('/hello', getMessage);

function *getMessage(){
   this.body = 'Your request has been logged.';
   console.log(this.response);
}

app.use(_.routes());
app.listen(3000);

Wenn Sie diesen Code ausführen und zu navigieren https://localhost:3000/hello Dann erhalten Sie die folgende Antwort.

Auf Ihrer Konsole wird das Anforderungsobjekt abgemeldet.

{ 
   status: 200,
   message: 'OK',
   header: 
   {
      'content-type': 'text/plain; charset=utf-8',
      'content-length': '12' 
   },
   body: 'Your request has been logged.' 
}

Der Status und die Nachricht werden automatisch von Koa festgelegt, können aber von uns geändert werden. Wenn wir den Antworttext nicht festlegen, wird der Statuscode auf 404 festgelegt. Sobald wir den Antworttext festgelegt haben, wird der Status standardmäßig auf 200 festgelegt. Wir können dieses Verhalten explizit überschreiben.

Mit diesem Objekt haben wir Zugriff auf viele nützliche Eigenschaften der Antwort. Schauen wir uns einige Beispiele an -

response.header

Stellt alle Antwortheader bereit.

response.status

Gibt den Antwortstatus an (200, 404, 500 usw.). Diese Eigenschaft wird auch zum Festlegen des Antwortstatus verwendet.

response.message

Stellt die Antwortnachricht bereit. Diese Eigenschaft wird auch verwendet, um benutzerdefinierte Nachrichten mit Antworten festzulegen. Es ist mit response.status verknüpft.

response.body

Abrufen oder Festlegen des Antwortkörpers. Normalerweise greifen wir über das Kontextobjekt darauf zu. Dies ist nur eine andere Möglichkeit, darauf zuzugreifen. Der Body kann vom Typ sein: String, Buffer, Stream, Object oder Null.

response.type

Abrufen oder Festlegen des Inhaltstyps der aktuellen Antwort.

response.get (Feld)

Diese Funktion wird verwendet, um die Werte von Headern mit einem Feld ohne Berücksichtigung der Groß- und Kleinschreibung abzurufen.

response.set (Feld, Wert)

Diese Funktion wird verwendet, um einen Header für die Antwort mithilfe eines Feld- und Wertepaars festzulegen.

response.remove (Feld)

Diese Funktion wird verwendet, um einen Header für die Antwort unter Verwendung eines Feldnamens zu deaktivieren.

Weitere Informationen zum Antwortobjekt finden Sie in den Dokumenten unter Antwort .