Web Dev/ELICE

28 :: Router, 미들웨어, API

HJPlumtree 2021. 12. 2. 18:38

엘리스 SW 엔지니어 트랙 28일차

박성국님 실시간 강의

 

 

npm 강의로 시작

npm 명령어

yarn 설치 / 명령어 알아봤다

 

 

API

각종 장치를 API를 통해서 관리한다

 

여러 회사, 판매자, 어플 관리자 등

API를 주고 퉁칠 수 있다

정보교환의 표준화가 된다

 

SOAP(프로토콜) | REST(가이드, 스타일)

기본 프로토콜

둘 다 HTTP 프로토콜 기본

 

데이터 포맷

SOAP: XML, Lson 사용 데이터 교환

REST: Json 사용 데이터 교환

 

상태비저장

SOAP: 기본적 stateless 하지만 Session 이용하면 stateful(여러번 통신) 쉽게 지원

REST: stateless(일회성 통신)

 

HTTP Method

SOAP: POST만 이용

REST: HTTP, GET, POST, PUT, DELETE 등 사용

 

SOAP 거의 안쓴다. REST 알자!

 

 

이후 코딩을하고 서버를 만드는것을 지켜봤다

 

Express

미들웨어

OS와 Application 사이에 존재

매개 역할, 연합

 

Node.js 미들웨어

// middleware
const express = require('express')
const app = express()
const PORT = 5000

app.use('/', (req, res, next) => {
    console.log('Middleware 1')
    next()
})

app.use('/', (req, res) => {
    console.log('Middleware 2')
    res.send('Hello, express!')
})

app.listen(PORT, () => {
    console.log(`The Express server is listening at port: ${PORT}`)
})

 

 

rest api

??? 뭘 배웠는지 모르게 후루룩 지나갔다

 

 

오후 타임 시작

김병철님 실시간 강의

onst express = require('express')
const path = require("path")

const app = express()
const port = 9999

app.get("/", (req, res) => {
  res.send("받아라!")
})

app.get("/hello", (req, res) => {
  res.sendFile(path.join(__dirname, "./static/index.html"))
})

// 서버 시작
app.listen(port, () => {
  console.log(`${port}번 포트에서 서버가 돌아가고 있어요!`)
})

 

 

Router(라우터)

app.get 많이 들어간다

=> 분리할 수 없을까?

 

어느 페이지로 보낼지 정해주는 라우트

Router에서 r 빼면 Route이었구나

 

 

 

id 가져오기

router.get("/is_odd_1/:id", (req, res) => {
    const id = req.params.id
})

 

주신 pdf 파일 보면서 주욱 복기해야겠다!

 

 

미들웨어

클라이언트에서 요청 받아

그 요청을 처리하는 과정에서 거치는 모든 함수들

 

Express.js에는 미들웨어 순차적으로 수행가능

 

next()가 있으면 다음까지

없으면 거기거서 끝

 

일반적으로 로그인, 인증 등에 미들웨어를 사용한다

 

 

API

내부 동작과정 몰라도

API 통해 응용 프로그램 개발 가능

 

GET

읽을 때만 사용하고, 수정될 때 사용하지 말아야된다.

 

POST

GET은 URL에 모든 정보 담고, POST는 HTML BODY나 Json에 정보 담는다

 

협업시 제일 먼저 할 일은

API 규약 확정

 

 

오늘은 전체적으로

애매하게 따라간 느낌

온라인 강의때 더 잘잡아야겠다