요청
핸들러 함수의 첫 번째 파라메터는 Request
입니다.
요청은 다음 속성들을 가지고 있는 Fastify의 핵심 객체입니다:
query
- 파싱된 쿼리스트링이며 형태는querystringParser
에 의해 지정됩니다body
- 본문입니다params
- URL에 매칭된 파라메터입니다headers
- 헤더의 getter와 setter입니다raw
- Node.JS 코어에 기반한 들어오는 HTTP 요청입니다req
(더 이상 사용되지 않음,.raw
를 대신 사용하세요) - Node.JS 코어에 기반한 들어오는 HTTP 요청입니다server
- Fastify의 서버 인스턴스이며 현재 캡슐화 컨텍스트로 스코핑됩니다id
- 현재 요청 ID입니다log
- 들어오는 요청에 대한 로깅 인스턴스입니다ip
- 들어오는 요청의 IP 주소입니다ips
-X-Forwarded-For
헤더에 적힌 IP 주소들의 배열이며 가까운 지점부터 배치됩니다 (trustProxy
옵션이 활성화되었을 때만 사용가능합니다)hostname
- 들어오는 요청의 호스트이름입니다 (trustProxy
옵션이 활성화되었다면X-Forwarded-Host
에서 가져오게 됩니다)protocol
- 들어오는 요청의 프로토콜입니다 (https
혹은http
)method
- 들어오는 요청의 메서드입니다url
- 들어오는 요청의 URL입니다routerMethod
- 현재 요청을 처리하는 라우터에 지정된 메서드입니다routerPath
- 현재 요청을 처리하는 라우터에 지정된 경로 패턴입니다is404
- 404 핸들러에 의해서 처리된다면 true가 되고 그렇지 않으면 false가 됩니다connection
- 더 이상 사용되지 않으며socket
을 대신 사용해야 합니다. 들어오는 요청의 내부적인 커넥션입니다.socket
- 들어오는 요청의 내부적인 커넥션입니다.context
- Fastify의 내부 객체입니다. 직접적으로 사용하거나 수정해서는 안 됩니다. 이것은 특별한 키 하나에 접근할 때 유용합니다:context.config
- 라우팅의config
객체입니다
헤더
request.headers
는 들어오는 요청의 헤더의 객체를 반환하는 getter입니다.
헤더를 다음과 같이 직접 지정할 수도 있습니다:
request.headers = {
'foo': 'bar',
'baz': 'qux'
}
이 동작은 요청 헤더에 request.headers.bar
로 읽을 수 있는 새로운 값들을 추가할 것입니다.
더 나아가, 여러분은 여전히 표준 요청 객체의 헤더를 request.raw.headers
속성을 통해 접근할 수 있습니다.
fastify.post('/:params', options, function (request, reply) {
console.log(request.body)
console.log(request.query)
console.log(request.params)
console.log(request.headers)
console.log(request.raw)
console.log(request.server)
console.log(request.id)
console.log(request.ip)
console.log(request.ips)
console.log(request.hostname)
console.log(request.protocol)
console.log(request.url)
console.log(request.routerMethod)
console.log(request.routerPath)
request.log.info('some info')
})