Express Server

Jun·2021년 3월 23일
0

EXPRESS

Nod.js 웹 애플리케이션 프레임워크이다 (Node web framework). HTTP 유틸리티 method 또한 middleware 를 사용하여 API를 작성할수있음. 간결하다.

라우팅

routing 이란 endpoint 에 따라 어떻게 반응을 해줄지 결정해주는 것을 뜻한다. endpoint란 URI 또는 PATH이다. HTTP 요청 method (GET,POST) 에 대한 클라인트 요청에 응답을 결정하는 방법! GET, POST,PUSH 등 각 method 에 요청이 들어왔을때 또는 URL(서버 경로) 따른 다른 응답을 한다고 생각하면 됨.

app.METHOD (PATH, HANDLER);
app.METHOD(PATH,HANDLER)
app 은 express의 instacne이다.
METHOD 부분에는 'HTTP request method' 로 들어갈수있다.
PATH부분은 SERVER에 관한 path
HANDLER는 route의 path가 일치할경우에 함수가 실행된다. 함수는 여러개가 들어갈 수도 있다.
app.use()도 자주 사용되는데 app.use 미들웨어이며 http request method 를 사용하지않아도 된다.
express.Router()을 사용하면 module.export 를 사용하며 모듈을 사용할수 있다.

미들웨어

미들웨어 함수는 next()콜백 변수로 표시됨. next()를 사용하여 다음 작업을 하게 넘겨줌 (미들웨어종료). 청이 정지된 상태로 남겨짐. 미들웨어 함수를 사용하려면 미들웨어 함수를 지정하여 app.use()로 호출한다.

app.get('/', function(req,res,next){
next();
})

Route Parameters

app.get('/users/:usersID/books/:bookID',(request,respond) =>{
    console.log(request.params);
    respond.send('connected');
})

'Route path: /users/:usersID/books/:bookID'
Request URL: http://localhost:4000/users/42/books/hello
:은 parameters로 나타낼수 있다.
예를들어 usersID의 키를 갖은 값은 usersID이다
path를 parameter로 나타내기위해서는 request.params. 로 나타내며 객체형식으로 키와 값을 갖는다
(request.params) 의 결과 값은 {userID:'42', bookID: hello}

Express 예시

const express = require('express)
const app = express()
const cors = require('cors')
const port = 4000;
//bodyParser = require('body-parser') 는 express 에 포함 되어있어 따로 명시해주지 않아도됨.
app.use(cors()); // http header 자동생성
app.use(express.json()); // body 사용하기위해
app.use(function(req,res,next){
console.log(${req.method}\t ${req.url})
next()
}) // 미들웨어 사용하여 method 하고 url 출력.
const messages ={ result:[]}; app.get('/', function(req,res,next){
res.send('user');
});
app.post('/', function(req,res,next){
response.status(201).send(messages);
messages.results
.push(request.body);
// status 201 표시하고 request.body 를 이용하여 body 그대로가져와 사용함.
});

0개의 댓글