Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- map
- 생명주기
- react native
- Foreign Key
- MINUS
- docker-compose
- list
- AWS
- union
- Kotlin
- LiveData
- enum
- ConstraintLayout
- recyclerview
- class component
- CLASS
- Service
- ReactNative
- collection
- docker
- Interface
- animation
- elementAt
- Generic
- Filter
- function
- Swift
- mongoose
- vuex
- lifecycle
Archives
- Today
- Total
개발 일기
Express 란? 본문
설명
- Node.js를 위한 빠르고 개방적인 간결한 웹 프레임 워크입니다.
특징
- 웹 및 모바일 어플리케이션을 위한 일련의 강력한 기능을 제공
- 자유롭게 활용이 가능한 수 많은 HTTP 메소드 및 미들웨어를 통해 쉽고 빠르고 강력한 API를 작성할 수 있습니다.
설치
npm install express --save
라우팅 ?
- URl 경로 및 특정한 HTTP 요청 메소드 (GET , POST 등) 특정 엔드 포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말합니다.
구조
- app은 express의 인스턴스입니다.
- METHOD는 HTTP 요청 메소드입니다.
- PATH는 서버에서의 경로입니다.
- HANDLER는 라우트가 일치할 때 실행되는 함수입니다.
app.METHOD(PATH, HANDLER)
아래는 주로 사용되는 것만 정렬을 합니다.
GET - 라우트 경로 루트에 위치
app.get('/', function (req, res , next) {
res.send('Hello World!');
});
app.param('user', function (req, res, next, id) {
// try to get the user details from the User model and attach it to the request object
User.find(id, function (err, user) {
if (err) {
next(err)
} else if (user) {
req.user = user
next()
} else {
next(new Error('failed to load user'))
}
})
})
PUT - 라우트 경로 user에 위치
app.put('/user', function (req, res , next) {
res.send('Got a PUT request at /user');
});
POST - 라우트 경로 루트에 위치
app.post('/', function (req, res , next) { res.send('Got a POST request'); });
DELETE - 라우트 경로 user에 위치
app.delete('/user', function (req, res , next) {
res.send('Got a DELETE request at /user');
});
ALL
app.all('/secret', function (req, res, next) {
console.log('Accessing the secret section ...');
next(); // pass control to the next handler
});
app.locals | 애플리케이션 내의 로컬 변수에 특성을 가집니다. |
app.mountpath | 하위 앱에 마운트 하나 이상에 경로 패턴이 포함되어있습니다. |
app.on('mount', 콜백(부모)) | mount이 부모 응용 프로그램에 장착 될 때 이벤트는, 하위 응용 프로그램에 발생합니다. 부모 앱은 콜백 함수에 전달됩니다. |
응답 메소드
다음 표에 표시된 응답 오브젝트에 대한 메소드(res)는 응답을 클라이언트로 전송하고 요청-응답 주기를 종료할 수 있습니다. 라우트 핸들러로부터 다음 메소드 중 어느 하나도 호출되지 않는 경우, 클라이언트 요청은 정지된 채로 방치됩니다.
res.download() | 파일이 다운로드되도록 프롬프트합니다. |
res.end() | 응답 프로세스를 종료합니다. |
res.json() | JSON 응답을 전송합니다. |
res.jsonp() | JSONP 지원을 통해 JSON 응답을 전송합니다. |
res.redirect() | 요청의 경로를 재지정합니다. |
res.render() | 보기 템플리트를 렌더링합니다. |
res.send() | 다양한 유형의 응답을 전송합니다. |
res.sendFile | 파일을 옥텟 스트림의 형태로 전송합니다. |
res.sendStatus() | 응답 상태 코드를 설정한 후 해당 코드를 문자열로 표현한 내용을 응답 본문으로서 전송합니다. |
app.route()
- app.route()를 이용하면 라우트 경로에 대하여 체인 가능한 라우트 핸들러를 작성할 수 있습니다
예시 :)
app.route('/book')
.get(function(req, res) {
res.send('Get a random book');
})
.post(function(req, res) {
res.send('Add a book');
})
.put(function(req, res) {
res.send('Update the book');
});
express.Router
- express.Router 클래스를 사용하면 모듈식 마운팅 가능한 핸들러를 작성할 수 있습니다
예시:)
app.use('/auth', AuthRouter);
import { Router } from 'express';
// caseSensitive 대소문자 구분
// mergeParams req.params상위 라우터 의 값을 유지하십시오 . 부모와 자식의 이름이 충돌하는 경우 자식의 값이 우선합니다.
// strict 엄격한 라우팅을 사용하십시오.
const router: Router = Router([options]);
router.post('/login', AuthComponent.login);
'서버 > Node.js' 카테고리의 다른 글
Sharp ( 이미지 resize ) (0) | 2020.03.26 |
---|---|
express-validator ? (0) | 2020.03.19 |
Gulp ? (0) | 2020.03.18 |
Npm ? (0) | 2020.03.15 |
Node js란? (0) | 2020.03.06 |
Comments