티스토리 뷰
728x90
Express는 Node.js 웹 애플리케이션 프레임워크이다. API를 빠르고 쉽게 작성하는데 도움을 준다.
프로젝트에 사용 된 기본 내용 및 추가 사항들만 정리해보려고 한다. 더 자세한 내용을 위해서는 하단에 있는 공식홈페이지를 참고하길바란다.
설치
$ npm install express --save
--save 옵션을 주고 설치하면 package.json 파일 내의 dependencies 목록에 추가. 이후 app 디렉토리에서 npm install을 실행하면 모듈 자동 설치
라우팅 : 애플리케이션 엔드포인트의 정의, URI 가 클라이언트 요청에 응답하는 방식
* 기본 사용법
const express = require('express');
const app = express();
app.get('/', function(req,res){
console.log("클라이언트에서 URI : / 로 요청시 함수 실행")
})
* 라우트 경로
- 라우트 경로는 문자열, 문자열 패턴, 정규식으로 정의 가능
//문자열 패턴
app.get('/ab?cd', function(req, res) {
console.log("URI가 /abcd 이거나, /acd인 겨우 매칭");
})
//정규식 패턴
app.get('/a/', function(req, res) {
console.log("a가 포함된 모든 URL과 일치");
})
* 응답 메소드
메소드 | 설명 |
res.end() | 응답 프로세스 종료 |
res.json() | JSON 응답 전송 |
res.redirect() | 요청의 경로를 재지정 |
res.send() | 다양한 유형의 응답 전송 |
app.route() : 라우트 핸들러를 체인형식으로 작성
app.route('/user')
.get(function(req,res) {
res.send("사용자 정보 가져오기");
});
.post(function(req,res) {
res.send("사용자 정보 추가");
});
express.Router : 모듈식 핸들러 작성하기
//파일명 post.js
import express from 'express';
import { commentPost, getPostsBySearch, getPost, getPosts, createPost, updatePost, deletePost, likePost} from '../controllers/posts.js'
import auth from '../middleware/auth.js';
const router = express.Router();
router.get('/search', getPostsBySearch);
router.get('/', getPosts);
router.get('/:id', getPost)
router.post('/', auth, createPost);
router.patch('/:id', auth, updatePost); //use patch when you want to update
router.delete('/:id', auth, deletePost);
router.patch('/:id/likePost' , auth, likePost);
router.post('/:id/commentPost',auth,commentPost);
export default router;
작성 후 라우터 모듈을 로드 해야한다.
//파일명 index.js
import express from 'express';
import postRoutes from './routes/posts.js'
const app = express();
//'/posts'로 시작되는 요청이 오면 postRoutes로 요청을 보낸다.
app.use('/posts', postRoutes);
공식 홈페이지 참고
https://expressjs.com/ko/guide/routing.html
'프로젝트 > MERN Application' 카테고리의 다른 글
Express의 resource(body-parser/cors) (0) | 2022.01.30 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코테
- tomcat
- 쿠버네티스
- softeer java
- react
- Linux
- 전자정부프레임워크
- springboot
- 톰캣
- 자바스크립트
- 스프링
- 아파치카프카
- 현대
- java 코테
- 현대코테
- 리액트
- 자바
- 도커
- javascript
- softeer
- 자바코테
- java
- mysql
- centos
- Docker
- Spring
- Kubernetes
- 오토에버코테
- 현대오토에버
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함