📅  最后修改于: 2020-10-23 07:44:52             🧑  作者: Mango
Koa Request对象是节点原始请求对象之上的抽象,提供了对日常HTTP服务器开发有用的附加功能。 Koa请求对象嵌入在上下文对象this中。每当我们收到请求时,让我们注销请求对象。
var koa = require('koa');
var router = require('koa-router');
var app = koa();
var _ = router();
_.get('/hello', getMessage);
function *getMessage(){
console.log(this.request);
this.body = 'Your request has been logged.';
}
app.use(_.routes());
app.listen(3000);
当您运行此代码并导航到https:// localhost:3000 / hello时,您将收到以下响应。
在控制台上,您将注销请求对象。
{
method: 'GET',
url: '/hello/',
header:
{
host: 'localhost:3000',
connection: 'keep-alive',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
accept: 'text/html,application/xhtml+xml,
application/xml;q = 0.9,image/webp,*/*;q = 0.8',
dnt: '1',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q = 0.8'
}
}
我们可以使用此对象访问请求的许多有用属性。让我们看一些例子。
提供所有请求标头。
提供请求方法(GET,POST等)
提供完整的请求URL。
提供请求的路径。没有查询字符串和基本URL。
给出解析的查询字符串。例如,如果我们在诸如https:// localhost:3000 / hello /?name = Ayush&age = 20&country = India之类的请求上进行记录,则将获得以下对象。
{
name: 'Ayush',
age: '20',
country: 'India'
}
该函数根据请求的资源是否接受给定的请求类型返回true或false。