[node.js] Express 기능에서 “res”및 “req”매개 변수는 무엇입니까?

다음과 같은 Express 기능에서 :

app.get('/user/:id', function(req, res){
    res.send('user' + req.params.id);
});

무엇 req이며res ? 그들은 무엇을 의미하고, 무엇을 의미하며, 무엇을 하는가?

감사!



답변

req이벤트를 발생시킨 HTTP 요청에 대한 정보가 포함 된 객체입니다. 대응하기 위해 req, 당신은 사용res 원하는 HTTP 응답을 다시 보내는 데 합니다.

이러한 매개 변수는 무엇이든 명명 할 수 있습니다. 더 명확하면 해당 코드를 다음으로 변경할 수 있습니다.

app.get('/user/:id', function(request, response){
  response.send('user ' + request.params.id);
});

편집하다:

이 방법이 있다고 가정 해보십시오.

app.get('/people.json', function(request, response) { });

요청은 다음과 같은 속성을 가진 객체가 될 것입니다.

  • request.url"/people.json"이 특정 액션이 트리거 될 때
  • request.method어느는 것 "GET",이 경우에 따라서 app.get()호출.
  • request.headers와 같은 항목을 포함하는 의 HTTP 헤더 배열 request.headers.accept로, 요청한 브라우저의 종류, 처리 할 수있는 응답의 종류, HTTP 압축을 이해할 수 있는지 여부 등을 결정하는 데 사용할 수 있습니다.
  • 쿼리 문자열 매개 변수의 배열에, 어떤이 있다면 request.query(예 /people.json?foo=bar초래 request.query.foo문자열을 포함 "bar").

해당 요청에 응답하려면 응답 오브젝트를 사용하여 응답을 빌드하십시오. people.json예제 를 확장하려면 다음을 수행하십시오 .

app.get('/people.json', function(request, response) {
  // We want to set the content-type header so that the browser understands
  //  the content of the response.
  response.contentType('application/json');

  // Normally, the data is fetched from a database, but we can cheat:
  var people = [
    { name: 'Dave', location: 'Atlanta' },
    { name: 'Santa Claus', location: 'North Pole' },
    { name: 'Man in the Moon', location: 'The Moon' }
  ];

  // Since the request is for a JSON representation of the people, we
  //  should JSON serialize them. The built-in JSON.stringify() function
  //  does that.
  var peopleJSON = JSON.stringify(people);

  // Now, we can use the response object's send method to push that string
  //  of people JSON back to the browser in response to this request:
  response.send(peopleJSON);
});


답변

Dave Ward의 답변에서 한 가지 오류가 발생했습니다 (최근의 변경 일 수 있습니까?). 쿼리 문자열 매개 변수가 request.query아닌 request.params입니다. ( https://stackoverflow.com/a/6913287/166530 참조 )

request.params 기본적으로 경로의 모든 “구성 요소 일치”값으로 채워집니다.

app.get('/user/:id', function(request, response){
  response.send('user ' + request.params.id);
});

bodyparser를 사용하도록 express를 구성한 경우app.use(express.bodyParser()); POST의 formdata와 함께 bodyparser ) . (참조 POST 쿼리 매개 변수를 검색하는 방법? )


답변

요청 및 응답.

를 이해하려면 req시도하십시오 console.log(req);.


답변