[TIL] 24.08.28 WED

GDORI·2024년 8월 28일
0

TIL

목록 보기
24/79
post-thumbnail

잠을 제대로 못자서 그런가 집중이 너무 안된다.
튜터님의 알고리즘 강의도 정리 해야하고 개인과제 부족한부분 수정도 해야하는데..
운동을 안하니까 체력이 떨어지나보다 😰😰 저질체력.

오늘의 알고리즘 코드카타
82612. 부족한 금액 계산하기
12969. 직사각형 별찍기
12950. 행렬의 덧셈
12940. 최대공약수와 최소공배수
12918. 문자열 다루기 기본
12917. 문자열 내림차순으로 배치하기

API와 REST API의 개념

  1. API(Application Programming Interface)란?
    API는 소프트웨어 간의 상호작용을 가능하게 하는 인터페이스로, 개발자가 다른 서비스나 애플리케이션과 통신할 수 있게 해줍니다.

  2. REST API란?
    REST API는 Representational State Transfer의 약자로, HTTP를 기반으로 자원을 관리하고 상호작용하는 API입니다. RESTful한 구조로 설계되어 클라이언트와 서버 간의 효율적인 통신을 지원합니다.

  3. REST API의 구성 요소
    자원(Resource): URL을 통해 표현됩니다.
    행위(Verb): HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 자원에 대한 작업을 정의합니다.
    표현(Representation): JSON, XML 등의 형식으로 데이터가 전달됩니다.

  4. 예시

router.get('/books', (req, res) => {
	res.json({ success: true, data: getAllBooks() });
});

예를 들어, GET /users 요청은 서버로부터 getAllBooks 함수를 이용하여 책의 목록을 반환받습니다.

Request와 Response 개념

  1. Request (요청)
    클라이언트가 서버로 정보를 요청하는 과정입니다. 요청은 주로 URL, HTTP 메서드(GET, POST 등), 헤더, 바디로 구성되며, 서버에게 원하는 작업이나 데이터를 전달합니다.

  2. Response (응답)
    서버가 클라이언트의 요청에 응답하는 과정입니다. 응답에는 상태 코드(200, 404 등), 헤더, 그리고 요청 결과를 담은 바디가 포함됩니다. 이를 통해 클라이언트는 서버로부터 요청한 데이터를 받거나, 작업의 성공 여부를 확인할 수 있습니다.

Express.js의 req와 res 객체

  1. req (Request 객체)
  • req.app : req 객체를 통해 Express.js의 app 객체에 접근할 수 있습니다.
  • req.ip: 요청한 Client의 ip 주소가 담겨 있습니다.
  • req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체입니다.
    • express.json() Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
  • req.params: 라우터 매개 변수(Path Params)에 대한 정보가 담긴 객체입니다.
  • req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체입니다.
  • req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체입니다.
    • cookie-parser Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
  • req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용합니다.
  1. res (Response 객체)
  • res.app : res 객체를 통해 Express.js의 app 객체에 접근할 수 있습니다.
  • res.status(코드) : Response에 HTTP 상태 코드를 지정합니다.
  • res.send(데이터) : 데이터를 포함하여 Response를 전달합니다.
    • ex) res.send('Hello, World');
  • res.json(JSON) : JSON 형식으로 Response를 전달합니다.
    • ex) res.json({ message: 'Hello, World' });
  • res.end() : 데이터 없이 Response를 전달합니다.
  • res.redirect(주소) : 리다이렉트할 주소와 함께 Response를 전달합니다.
    • ex) res.redirect('https://naver.com');
  • res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용합니다.
  • res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용합니다.
profile
하루 최소 1시간이라도 공부하자..

0개의 댓글