APIs & Express.js

Damdaridam·2022년 3월 14일
0

wecode TIL

목록 보기
6/8
post-thumbnail

✏️ 오늘의 학습목표

  • UI 와 API는 무엇인가를 정리해보세요.
  • http 모듈로 server를 생성하는 것과 express로 server를 생성하는 것의 차이점을 설명하세요.
  • response를 반환할 때 사용하는 res.end(), res.send() , res.json() 의 차이점을 설명하세요.
  • 자주 사용하는 status 코드와 어떤 상황에서 사용하는지 정리해서 제출해 주세요.

⚖️ UI 와 API

👀 공통된 의미 Interface
UI : User Interface
시스템 <----접점(중개자)----> 사용자
시스템이 사용자를 만나는 지점
API : Application Programming Interface
웹 브라우저 상에서 나타난 이 얼럿은 누가 만들었을까?
해당 웹 브라우저 사의 개발자!
얼럿은 "코드"의 형태를 띄고 있는 Interface!
이 것들을 응용해서 우리는 application을 만든다!

javascript:alert("Hello API!")

🌈 http vs express server

  • http 모듈 : Node.js에서 가장 기본적이고 중요한 웹 모듈.하단과 같은 방식들을 이용하여 HTTP 서버를 생성하고 구동할 수 있다.
주요개념설명
Server객체웹 서버를 생성할 때 사용하는 객체
response객체응답 메시지를 작성할 때 request이벤트 리스너의 두 번째 매개변수로 전달되는 객체
request객체응답 메시지를 작성할 때 request이벤트 리스너의 첫 번째 매개변수로 전달되는 객체

createServer() 메서드로 간단하게 생성완료

 const http = require('http'); //http 모듈호출
  http.createServer(function (req, res) {
    res.writeHead(200, {
      'Content-Type': 'text/plain'
    });
    res.end('Hello World');
  }).listen(3000);

👻 하지만, HTTP 모듈은 로우 레벨의 API 를 제공하기 때문에,
쿠키핸들링, 세션처리, 라우팅 등의 처리를 직접 구현해야한다.

  • Express : 노드(Node.js) 상에서 동작하는 웹 개발 프레임워크이다. 따라서 Express 에서 제공하는 함수를 익히고 사용해야 한다.

    Express를 쓸 때 장점은?

    🐸 라우팅이 편하다
    http와 달리 라우팅을 정의하는 함수와 서버를 생성하는 역할의 함수가 분리되어 있어서, 유지보수가 편하고 과정이 간편하다.
    🐷 미들웨어 제공 및 추가
    미들웨어는 요청에 대한 응답과정 중간에서 어떠한 동작을 하는 프로그램이다. Express를 사용하면 미들웨어를 제공받을 수 있고, 또 직접 추가도 가능하다. 따라서 요청이 들어온 후, 응답 전에 미틀웨어가 지정한 동작을 수행할 수 있다.
    .
app.use((req, res, next) => {
  console.log('Hello~');
  next();
});

🌷res.end(), res.send(), res.json()

  • res.send()
    : 기본적으로 response를 보내주는(send) 역할을 한다.
    이 때 res.send는 Content-Type을 파악하고 자동적으로 알맞게 지정해준다. buffer, string, Object, Array 등이 있다.
  • res.json()
    : json이 아닌 것도 json형식으로 바꾸어 보내준다. 즉, content-type 헤더를 application/JSON으로 고정한다.
  • res.end()
    : 응답으로 보내줄 데이터가 없으므로 response를 끝내고 싶을 때 사용.(그닥 404 리턴 케이스 외에는 사용하지 않는다고함)
app.get("/api/login", (req, res) => {
  // ... do something ...
});

보통 HTTP 요청을 서버가 받게되면, res 반환한다.

profile
즉흥적인 덜렁이도 개발자가 될 수 있을까?

0개의 댓글