node.js의 express 모듈 기본 예제를 살펴보면서 어떤 식으로 구성되는지에 대해 살펴보는
목차
Express
node.js에서 제공하는 간결한 웹 프레임워
1. Hello world 코드 분석
const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send('Hello World')
})
app.listen(3000)
- app.listen(3000) : 3000번 포트를 열어 두겠다.
- app.get('/' , () => {})
- get은 http 메소드
- '/' : 라우팅
- () => {} : 콜백 함수
◆ http 메소드 : 요청의 목적, 종류를 알리는 수단
- get이라는 방식 (주소에 즉 querystring에 정보가 노출)
- post라는 방식 : 내부적으로 정보를 전달하는 방
◆ 라우팅 : 특정 포트를 들어가서 어디로 들어갈지에 대해 알려주는 것
◆ 콜백 함수 : 함수가 끝나고 실행할 함수를 의미
→ get 방식으로 정보를 읽는데 나는 / 라는 기본 주소로 들어가면 응답으로 hello world를 내놔라 라는 의미
→ localhost:3000으로 들어가면 hello world를 볼 수 있음.
2. 간단한 API 구성
1단계 : 예제 변형
위 예제 코드에서 app.get()의 라우팅을 바꿔주고
그거에 따른 응답을 바꿔주는 것으로 설정
app.get('/dog', function (req, res) {
res.send('강아지')
})
/dog라는 라우팅을 통해 들어가면 사이트에 강아지라고 출력.
send 보낼때 html, json 파일을 보내줄 수 있음.
2. 파라미터 값으로 라우팅
parameter를 통해 변수를 받을 수 있음.
:id :있는 거
app.get('/user/:id', function (req, res) {
const q = req.params
console.log(q)
res.json({'userid' : q.id})
})
위처럼 작성하면 q에 요청하는 파라미터를 받아올 수 있음.
3. query 값으로 라우팅
app.get('/user/:id', function (req, res) {
const q = req.query
console.log(q)
res.json({'userid' : q.id})
})
주소에 있는 query값을 받을 수 있음.
4. Post 방식?
parameter를 받아서 처리
◆ 응답
이제 들어온 파라미터에 따라 조건문을 줘서
해당 조건에 맞는 응답이 들어왔을 때 돌려주는 방식으로 구성이 되는 형식이라고 이해!
CORS
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제
보안 상의 이유로, 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한하기 때문에
API 설계 시 모듈을 깔아서 설계를 해야 함
마무리
대략적인 구조만 살펴봤는데. 대략적으로 어떻게 오고가는지에 대해서 파악할 수 있었음.
이를 나중에 어떤식으로 변형해서 써먹을지에 대해서도 고민할 필요가 있음.
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] Node.js 생활코딩 기초 내용 정리(Querystring, 파일 read) (0) | 2023.04.28 |
---|---|
[JavaScript] 생활코딩 Web2 내용정리 (함수, 객체, 라이브러리 등) (0) | 2023.03.14 |
[JavaScirpt] 생활코딩 Web2 내용정리 (조건문, 반복문) (0) | 2023.03.13 |
[JavaScript] 생활코딩 Web2 내용정리 (JavaScript-기초) (0) | 2023.03.10 |
댓글