본문 바로가기
728x90
반응형
SMALL

Web96

[Node.js] validation - 데이터 검증하기! 1. validation 유효성 검사: 입력 데이터가 유효한지 검사하는 것 입력 데이터가 사용자가 원하는 형식에 맞는지, 필수 항목이 빠져 있지는 않은지 등을 검사하는 것 입력 데이터가 유효하지 않으면, 사용자에게 알리고 다시 입력하도록 유도함 Express에서 대표적으로 express-validator라는 미들웨어를 사용하여 데이터의 유효성 검증을 할 수 있음 ✅ 데이터의 유효성 검사를 실시해보자. 📍 두 모듈을 설치 📍 import하기 위해 package.json에서 "type":"module" 작성 📍 모듈 import import express from 'express' import { body, param, validationResult } from 'express-validator' // bo.. 2023. 5. 2.
[Node.js] morgan & cors 1. morgan HTTP 요청 정보를 로그로 출력해주는 미들웨어 Morgan을 사용하면, HTTP 요청이 들어올 때마다 요청 메서드, URL, 상태 코드, 응답 시간 등의 정보를 로그로 남길 수 있음 1-1. 종류 combined : Apache의 combined 로그 형식을 따르는 로그를 출력 common : Apache의 common 로그 형식을 따르는 로그를 출력 dev : 개발용 로그로, 요청과 응답에 대한 정보를 담고 있음 short : 간결하게 요청 메서드, URL, HTTP 버전, 응답 상태 코드, 응답 시간 등의 정보를 출력 tiny : short보다 더 간결하게 요청 메서드, URL, HTTP 버전, 응답 상태 코드만 출력 2. cors(Cross-Origin Resource Shari.. 2023. 4. 30.
[Node.js] public 폴더📂 1. public 폴더 클라이언트가 직접 정적 파일에 접근하는 방법 이 폴더에 저장된 파일들은 클라이언트에게 직접 제공 📂 public 폴더에 넣어논 파일 import express from 'express' const app = express() app.use(express.json()) app.get('/', (req, res) =>{ console.log('/ get으로 실행') res.status(200).send('get으로 첫 페이지 실행') }) app.use('/files',express.static('public')) // public 폴더에 있는 파일을 읽어옴 app.listen(9090) 2023. 4. 30.
[Node.js] router 2️⃣ ✅ routes폴더를 새로 만들고 안에 post.js와 user.js 두 파일을 만들어 import 하여 사용 📄 router로 사용할 routes폴더 내 post.js import express from 'express' const router = express.Router() //써도되고 안써도되는 부분 // express기능도 가지고있음, app.use()랑 똑같음 router.use((req, res, next) => { console.log('post에 존재하는 미들웨어!') next() // 다음으로 넘어갈수있게함 }) router.get("/", (req, res) => { res.status(200).send('GET: /posts') }) router.post("/", (req, res).. 2023. 4. 30.
[Node.js] router 1️⃣ 1. Router express에서 제공하는 미들웨어의 일종 어플리케이션의 경로를 처리하는 역할 Router를 사용하면 애플리케이션의 경로와 미들웨어를 모듈로 분리하여 관리할 수 있음 2. route() 특정 경로의 다중 요청 메서드를 처리 이래 예제에서는 /posts와 /posts/:id 경로의 GET, POST, PUT, DELETE 요청 메서드를 처리하도록 정의 import express from 'express' // router 사용 const app = express() app .route('/posts') // /posts로 가는 메소드가 체이닝됨 .get((req, res) => { res.status(200).send('GET: /posts') }) .post((req, res) => {.. 2023. 4. 30.
[Node.js] 파일 읽기 오류처리 - 동기식 & 비동기식, 서버에러 처리 ✅ 파일이 없는 경우 에러가 발생 ➡️ 오류처리 방법 4가지 알아보기! import express from 'express' import fs from 'fs' import fsAsync from 'fs/promises' //promise객체임 const app = express(); app.use(express.json()); 1️⃣ readFile(): 비동기식 파일읽기 오류처리 app.get('/file1', (req, res) => { fs.readFile('./file1.txt', (err, data)=> { if(err){ //res.status().send()와 같이 동작하지만, 코드와 상태 메시지를 한 번에 설정할 수 있다는 점에서 차이가 있음 res.sendStatus(404) // 페이.. 2023. 4. 30.
[Node.js] express - 2️⃣ post() 1. post() 객체(app)에 HTTP POST 요청 메소드를 추가 app.get()과 유사하지만, 클라이언트에서 서버로 전달되는 요청의 HTTP 메소드가 POST인 경우에만 호출 import express from 'express' const app = express() // express.json(): body를 통한 데이터를 받을 수 있음 app.use(express.json()) app.post('/posts', (req, res) => { console.log(req.body) // 사용자가 보낸 데이터가 body에 들어옴 res.status(201).send('Create 되었습니다!') // 데이터를 추가(201번)응답번호 부여 // send(): 데이터를 보냄 }) app.listen(.. 2023. 4. 30.
[Node.js] express - 1️⃣get() 1. get() HTTP GET 요청에 대한 핸들러를 등록하는 역할 클라이언트가 "/users" 경로로 GET 요청을 보낼 때, 서버는 등록된 get() 핸들러 함수를 실행시키며, 해당 경로에 대한 처리 로직을 구현 get(경로, (res, req)):두 개의 매개변수를 가지며, 첫 번째 인자로 경로를, 두 번째 인자로 해당 경로로 요청이 들어왔을 때 실행할 콜백 함수를 전달 2. express에서 routing 2-1. req.qurey HTTP GET 요청으로 전달된 쿼리스트링(query string)을 파싱하여 객체로 📍Query String: URL에 ? 이후에 오는 key-value 쌍 예를 들어, https://example.com/search?q=nodejs와 같은 URL이 있다면, req... 2023. 4. 30.
728x90
반응형
LIST