47. Express -2
⭐️ 라우팅
쉽게 ! METHOD와 paht를 이용해서 분기 하는 것
쉽게 ! METHOD와 paht를 이용해서 분기 하는 것
라우트 기본 정의
app.METHOD(PATH, HANDLER)
✅ app은 express의 인스턴스.
✅ METHOD는 HTTP 요청 메소드.
✅ PATH는 서버에서의 경로.
✅ HANDLER는 라우트가 일치할때 실행 되는 함수.
const express = require('express')
const app = express() // 인스턴스
app.get('/', (req, res) => {
res.send('Hello Express')
})
// get은 METHOD. 자주사용하는 METHOD로 get, post, put, delete가 있다.
// '/' 은 PATH, endpoint라고도 부른다.
// arrow function 은 HANDLER.
모듈과 라우터
// ➊ controller.js 담고 있는 파일을 만든다.
// 객체 형태로 여러 메소드를 담는다.
module.exports = { // 전체를 exports한다.
findThem: (req, res)=>{
res.send(req.query.data)
},
filterThem: (req, res)=>{
res.send(req.query.data.filter((item) => iteam > 0)
}
}
// ➋ themRouter.js 파일에서 controller를 불러와서 라우터를 구성한다.
const { findThem, filterThem } = require('/Controller');
const express = require('express');
const router = express.Router();
router.get('/', fideThem);
router.post('/', filterThem);
module.exports = router // exports 한다.
// ➌ app.js라는 파일에서 themRouter을 사용한다.
const express = require('express');
const app = express();
const themRouter = require('/bookRouter');
app.use('/store', themRouter); //app.use는 모든 요청에서 사용!
// 이렇게 사용 할 수 있다.
// 이것은 아래와 같다
app.get('/store/', (req, res)=>{
res.send(req.query.data)
})
app.post('/store/', (req, res)=>{
res.send(req.query.data.filter((item) => iteam > 0)
})
// 📌 path에 중복경로를 매번 기입하지 않아도된다.
// 📌 controller의 재사용성이 좋아진다.
⭐️ 미들웨어
미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트 (res), 그리고 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수 대한 액세스 권한을 갖는 함수입니다. 그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시됩니다.
미들웨어 함수는 다음과 같은 태스크를 수행할 수 있습니다.
- 모든 코드를 실행.
- 요청 및 응답 오브젝트에 대한 변경을 실행.
- 요청-응답 주기를 종료.
- 스택 내의 그 다음 미들웨어를 호출.
-Expressjs-
미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트 (res), 그리고 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수 대한 액세스 권한을 갖는 함수입니다. 그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시됩니다.
미들웨어 함수는 다음과 같은 태스크를 수행할 수 있습니다.
- 모든 코드를 실행.
- 요청 및 응답 오브젝트에 대한 변경을 실행.
- 요청-응답 주기를 종료.
- 스택 내의 그 다음 미들웨어를 호출.
-Expressjs-
🤔 쉽게 말해서 서버에 요청하고 응답하기 까지의 과정에서 귀찬고 복잡하고 번거로운 작업을 미들웨어가 중간에서 쉽게할 수 있도록 도와 주는 역할을 한다고 보면 된다.
CORS Cross-Origin Resource Sharing
// 요청 허용 기준을 담고있는 CORS를 자동으로 요청/응답시 적용해주는 미들웨어.
const cors = require('cors'); // 내장 객체가아니라서 npm install cors 필요
app.use(cors());// 사용법은 간단하다. 허용 기준의 수정도 가능하다.
next()
실행중인 미들웨어에 의해 요청-응답 주기가 종료되지 않는다면, 다음 미들웨어 함수를 실행시키기 위해 next()를 호출 해야한다. 그렇지 않는다면 요청이 정지된채로 방치되게 된다.
Author And Source
이 문제에 관하여(47. Express -2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hinyc/47.-Express-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)