TIL 20일차 (20240119)

박세연·2024년 1월 19일

TIL

목록 보기
15/70

Request와 Response

  • ✏️ Request: 클라이언트가 서버에게 전달하려는 정보나 메세지를 담는 객체
  • ✏️ Response: 서버에서 클라이언트로 응답 메세지를 전송시켜주는 객체
  • ✏️ 서버 모듈: 대표적으로 http 모듈과 Express.js(http 모듈을 확장하여 제공)가 있음

Express.js의 req, res 객체 (중요한 것만 적음)

⭐ req 객체

  • req.body: request 호출할 때 body로 전달된 정보가 담긴 객체. express.json() Middleware을 이요해야 해당 객체를 사용할 수 있음
  • req.params: 라우터 매개 변수에 대한 정보가 담긴 객체
  • req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체

⭐ res 객체

  • res.status(코드): Response에 HTTP 상태 코드를 지정
  • res.send(데이터): 데이터를 포함하여 response를 전달 ex) res.send('Hello, World');
  • res.json(JSON): JSON 형식으로 Response를 전달 ex) res.json({ message: 'Hello, World' });

Express.js의 Response

  • res.status(상태 코드)

  • HTTP 상태 코드 몇가지 정리
    🐳 200: 요청이 성공적으로 되어 있음
    🐳 201: 요청이 성공적, 그 결과로 새로운 리소스가 생성
    🐳 202: 요청을 수신하였지만 그것에 응하여 행동할 수 없음
    🐳 301: 요청한 리소스의 URI이 변경되었음
    🐳 302: 요청한 리소스의 URI가 일시적으로 변경되었음
    🐳 404: 서버는 요청받은 리소스를 찾을 수 없음. 브라우저에서는 알려지지 않음 URL을 의미

  • res.json(JSON), res.send(데이터)
    : res.json()은 JSON 형식의 데이터만 보낼 수 있고, Response Header의 Content-type이 'application/json'으로 설정됨. res.send()은 다양한 유형의 데이터를 보낼 수 있고, Content-type을 데이터 유형에 따라 다르게 설정할 수 있음
    (Content-type은 서버가 클라이언트에게 전달하는 데이터의 타입을 지정할 때 사용됨)

Express.js의 Request

  • req.body: (Body)
    : express.json() 미들웨어를 사용, Key-Value의 데이터 형식을 가지고 있음, URL만으로는 어떤 데이터를 전달하였는지 알 수 없음(그래서 ID, PW 등의 전달을 위해 사용), POST, PUT과 같은 Http method에서 사용

  • req.query: (Query String)
    : 클라이언트가 요청을 보냈을 때, URL에 원하는 Key-Value를 삽입하여 데이터를 전달, URL의 마지막에 ? 기호를 이용해 Query String을 사용할 수 있음, 특정 콘텐츠의 위치를 표시하거나 웹 페이지에 특정한 옵션을 설정할 때 사용, 주로 서버의 리소스를 필터링하거나 정렬하는데 사용, GET과 같은 Http method에서 사용됨

  • req.params: (Path Variable)
    : 클라이언트가 요청을 보냈을 때, URL에 원하는 데이터를 삽입하여 전달, URL 특정 경로를 매개 변수로 사용, 특정 게시글을 선택하거나 명확한 리소스를 지정해야할 때 사용


yarn add mongoose 중 에러 발생


yarn.ps1 에러가 떴다. 다행히 구글링으로 바로 해결 방법이 나왔는데
1. window powershell을 관리자 권한으로 실행(cmd인줄 알았는데 다른 것이었음)
2. Get-ExecutionPolicy로 권한 상태 확인
3. Set-ExecutionPolicy RemoteSigned로 권한 RemoteSigned로 변경
4. 다시 yarn add하면 잘 실행된다!

profile
배워나가는 중

0개의 댓글