Request body vs params vs query vs headers

강준호·2024년 2월 19일

NodeJs

목록 보기
7/7

req.body

  • 요청 본문에 제출된 데이터가 포함되어 있으며 일반적으로 POST 및 PUT 요청에 사용됩니다.

  • 일반적으로 양식 데이터 또는 JSON 페이로드를 서버로 보내는 데 사용됩니다.

  • 예: 사용자 등록 양식에서 클라이언트는 { "username": "johnDoe", "password": "123456" }와 같은 사용자 정보가 포함된 req.body와 함께 JSON 데이터를 보낼 수 있습니다.

app.post('/login', (req, res) => {
  const { username, password } = req.body;
  // Authenticate the user...
});

req.params

  • 경로에 정의된 특정 패턴을 따르는 URL 경로의 일부인 경로 매개변수를 포함합니다.

  • URL 경로의 특정 위치에 지정된 값을 캡처하는 데 사용됩니다.

  • 예: /users/:userId/posts/:postId로 정의된 경로가 있고 클라이언트가 /users/123/posts/456을 요청하는 경우 req.params는 { "userId입니다. ": "123", "postId": "456" }.

app.get('/users/:userId', (req, res) => {
  const { userId } = req.params;
  // Retrieve the user by userId...
});

req.query

  • URL의 '?' 뒤에 표시되는 선택적 키-값 쌍인 URL의 쿼리 문자열 매개변수를 포함합니다.

  • GET 요청에서 특정 옵션을 필터링, 정렬 또는 지정하는 데 사용됩니다.

  • 예: /search?query=nodejs&sort=asc에 대한 요청에서 req.query는 { "query": "nodejs", "sort": "asc" }가 됩니다.

app.get('/search', (req, res) => {
  const { query, sort } = req.query;
  // Perform the search based on query and sort...
});

req.headers

  • 클라이언트가 요청과 함께 보낸 모든 HTTP 헤더를 포함합니다.

  • 헤더는 요청 또는 응답에 대한 추가 정보를 포함하는 클라이언트와 서버 간에 전송되는 키-값 쌍입니다.

  • 예: req.headers에는 전송되는 콘텐츠 유형을 나타내고 인증 자격 증명을 제공하는 { "content-type": "application/json", "Authorization": "Bearer yourtokenhere" }가 포함될 수 있습니다.

app.get('/profile', (req, res) => {
  const authToken = req.headers['authorization'];
  // Use the authToken for authentication...
});

0개의 댓글