Koa.js-요청 객체

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' 
   }
}

이 객체를 사용하여 요청의 많은 유용한 속성에 액세스 할 수 있습니다. 몇 가지 예를 살펴 보겠습니다.

request.header

모든 요청 헤더를 제공합니다.

request.method

요청 방법 (GET, POST 등) 제공

request.href

전체 요청 URL을 제공합니다.

request.path

요청 경로를 제공합니다. 쿼리 문자열 및 기본 URL이 없습니다.

request.query

구문 분석 된 쿼리 문자열을 제공합니다. 예를 들어, 다음과 같은 요청에이를 기록하면https://localhost:3000/hello/?name=Ayush&age=20&country=India, 그러면 다음 객체를 얻을 수 있습니다.

{
   name: 'Ayush',
   age: '20',
   country: 'India'
}

request.accepts (유형)

이 함수는 요청 된 리소스가 주어진 요청 유형을 수락하는지 여부에 따라 true 또는 false를 반환합니다.

Request 의 문서에서 요청 객체에 대한 자세한 내용을 읽을 수 있습니다 .