node.js

express router

낮햇볕 2022. 4. 19. 17:26

라우팅

경로 이동 http요청 메소드에 따라 특정한 일도 할수있다 

라우트는 하나이상의 핸들러 함수를 가질수있고 라우트가 PATH와 일치할때 실행된다

app.METHOD(PATH, Handler)

핸들러 :

함수지만 특정상황에 따라 처리 

PATH로 들어왔을때 어떠한 일을 할지 행동할지 함수로 작성

 

const { response } = require('express');
const express = require('express');

const app = express();

app.get('/',function (request,response) {
    response.send("router");//params가져오기
})

//파람값으로 들고옴
app.get('/page/:id' ,function (request,response) {
    const id = request.params.id;
    response.send(`<h1>${id} page </h1>`)//변수값들고오기위해
})//router가아닌 request에서 받아와서 request에 

//쿼리값으로 들고옴
app.get('/user' ,function (request,response) {
    //주소에/user?user=dss 입력해야 확인가능
    const user = request.query.user;
    response.send(`<h1>${user} page </h1>`)//변수값들고오기위해
})//router가아닌 request에서 받아와서 request에 

app.listen(52273,() =>{
    console.log('Server Running at http://127.0.0.1:52273');
})

 

라우팅을 하기전 epress생성해준다 

express를 생성

const express = require('express');

router를해주기위해 먼저 express를 생성해줘야한다 

require 를 통해 express모듈 에서 express객체들고옴

 

 

 

 

서버생성

const app = express();

express실행히켜줘서 app에다 할당시켜줌

 

app에서는 서버생성되서 서버할수있는게 request가 왔을 때 화면에 출력해주는 부분

 

포트열기

app.listen(52273,() =>{
    console.log('Server Running at http://127.0.0.1:52273');
})

포트를 열어 다른사람들도 접근할수있게 해준다  주소자기자신 불러오는 주소 = localhost주소 

52273이라는 포트번호를 사용해주었다 

 

 

아래router는  listen사이에 넣어주었다 

 

서버 열렸을때 사용가능 서버 안열려지면 접속 할수없다 

request 이벤트리스너 설정

요청이 왔을때 실행할 함수지정

라우터로 해보기

app.get('/',function (request,response) {
    response.send("router");//params가져오기
})

 

 

get : ex)어떤 서버에 요청할때 

app을 통해 get이라는 메소드사용

get :가져온다 응답

'/' : 루트 url로 들어왔을때 뒤의 함수실행

request 와 response를 받아서 건네 줄때는 

response.send 로 화면에 출력해준다 

 

js에서 만들어준 express router열고싶을때

터미널창에서 실행할파일js 이들어간 폴더로들어가

node 실행할파일.js 를 입력해주면  

주소가 나오게된다  그주소를 ctrl누르고 마우스 왼쪽 클릭하면 아래의 웹이 나온다

 

parsms값으로 가져오기

app.get('/page/:id' ,function (request,response) {
    const id = request.params.id;
    response.send(`<h1>${id} page </h1>`)//변수값들고오기위해
})//router가아닌 request에서 받아와서 request에

id변수에다 request.param.id를 넣어준다  request에 params를 넣어줄수있다

아래 화면출력해준response.send에다가 ${id}로 id

 

 

화면에다 /page/:id를 쳐주면 

response.send안에 작성해주었던 ${id}page가 나오게된다

 

 

또한 :id :콜론으로 사용해준것은 뒤에 숫자나 문자를 넣어주면 :id안에 값이 들어가게된다 

그러면 request를 통해 params로  값을 들고와줄수있다 바뀌게 된다

 

위의 창에 dd라고 쳐주어 그값이 /page/:id 에 들어가서 함수를 실행해줘서 request를 통해서 params로 값을 들고와 줄수있게된다 id변수에서 response.send안 내용작성에 ${id}로 들어오게된다 

 

 

query 들고오기

//쿼리값으로 들고옴
app.get('/user' ,function (request,response) {
    //주소에/user?user=dss 입력해야 확인가능
    const user = request.query.user;
    response.send(`<h1>${user} page </h1>`)//변수값들고오기위해
})//router가아닌 request에서 받아와서 request에

user라는 페이지에서 query로 request를 통해서 query도 들고올수있다

response.send를 통해서 화면에 ${user} page를 출력해준다

 

 

주소뒤에 user?user=query 라고 작성해줘야 위의 페이지에 쿼리페이지가 출력된다 

작성한 /user라는 페이지에 query라는 것을 알려주기 위해 ? 를 통해 값넣어줄수있다 뒤의 user에다 =으로 값을 넣어줄수있다  

 

위의 주소뒤에 적어준 것은 form에서 get을 통해 보낼때 주소를 저주소같은 형태로 보내지게된다

 

 

 

 

 

다운받아서 postman은 내용을 만들어서 보내줄때 get post delet등을 보내고 확인을 할수있다

 

https://www.postman.com/

 

위의 홈페이지로들어가서 다운받으면된다 로그인을 해줘야한다

 

 

 

 

 

저십자가를 눌러주면 

아래의get이라고 나오게된다 

 

 

위에서 터미널에서 node 실행할js를 해주면 나온다는 주소를 Enter request URL에 작성해주고 send를 누르면 나온다

맨첨 '/' 인것에 router가 출력되게 된다

빈드시 터미널에 서버를 연결해줘야 나온다

 

저 주소 뒤에 /user/1 넣어줘도 위에 라우터 주소도 나오게된다 

 

메소드를 주소로 보낼수없어서 post deleteput을 postman에다 주소를 보내주려한다