express router
라우팅
경로 이동 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등을 보내고 확인을 할수있다
위의 홈페이지로들어가서 다운받으면된다 로그인을 해줘야한다
저십자가를 눌러주면
아래의get이라고 나오게된다
위에서 터미널에서 node 실행할js를 해주면 나온다는 주소를 Enter request URL에 작성해주고 send를 누르면 나온다
맨첨 '/' 인것에 router가 출력되게 된다
빈드시 터미널에 서버를 연결해줘야 나온다
저 주소 뒤에 /user/1 넣어줘도 위에 라우터 주소도 나오게된다
메소드를 주소로 보낼수없어서 post deleteput을 postman에다 주소를 보내주려한다