Node.js (19) 썸네일형 리스트형 11. req.params 과 req.body ✅ req.params 와 req.body 의 차이 req.params // @route GET api/posts/:id // @desc 'get' 메소드를 써서 파라미터 프로퍼티인 id값에 맞는 포스트를 가져오는 요청 router.get("/:id", auth, async (req, res) => { // 'id'라는 프로퍼티 try { const post = await Post.findById(req.params.id); res.json(post); } catch (err) { res.status(500).send("Server Error"); } }); 'api/posts/:id'라는 라우터 경로가 있을 때, 'id'는 'req.params.id'로 불러올 수 있다. req 객체에 'paramete.. 10. 구조 분해 할당 ( Destructiong assignment) // Object 구조 let object = { a : "aaaa" }; const a = object.a; // 기존 Javascript 문법 const {a} = object; //ES6 문법 // Array 구조 let arr = ["a", "b"]; let first = arr[0]; let second = arr[1]; // 기존 Javascript 문법 let [first, second] = arr; // ES6 문법 9. 용어 정리 1. 라우팅 특정한 URL을 통해 클라이언트의 요청이 들어왔을 때 그에 맞는 적절한 반응을 취해주는 것이다. express에서는 http request가 들어왔을 경우 mthod type 에 따라 라우팅을 해줄 수 있다. 2. 미들웨어 http request 가 사용자로부터 날라왔을 때 사용자가 요청하면서 보내는 정보(request)와 서버가 보낼 정보 (response) 에접근 가능한 함수이다. app.use('path', function(req, res)=>{ do(something); next(); }); use method를 사용할 경우 http request가 해당 url 로 보내질 경우 method type에 관계없이 반드시 실행된다. next() 는 다음에 실행할 method 가 있으면 다음.. 8. REST API 💨 REST API 란? REST + API => REST 아키텍쳐를 준수하는 웹 API 1. API 란? Application Prograaming Interface 서비스나 프로그램 간에 미리 정해진 기능을 실행할 수 있도록 하는 규약이다. 운영체제 API, 프로그램언어 API, 웹 API 등이 있다. 2. REST 란? REpresentational State Transfer 웹에서 자료를 전송하기 위한 표현 방법에 대한 아키텍쳐이다. REST를 정확하게 구현하기 위해선 많은 제한조건이 있지만, 기본적인 REST 가이드를 따르면 조금 더 좋은 구조의 API를 구성할 수 있다. 💨 REST API 기본 가이드 1. HTTP Method 의 사용 REST API 는 API의 동작을 HTTP method.. 7. middleware 💨 Middleware 란? 미들웨어는 Express.js 동작의 핵심이다. HTTP 요청과 응답 사이에서 단계별 동작을 수행해주는 함수이기도 하다. 💨 middleware 작성법 req, res, next 를 가진 함수를 작성하면 해당 함수는 미들웨어로 동작할 수 있다. req : HTTP 요청을 처리하는 객체 res : HTTP 응답을 처리하는 객체 next : 다음 미들웨어를 실행하는 함수 const logger = (req, res, next) => { console.log(`Request ${req.path}`); next(); } //req.path 와 같은 요청을 처리할 수 있는 기능을 제공 const auth = (req, res, next) => { if (!isAdmin(req)) { .. 6. Express.js 💨 Express.js 를 사용하는 이유 Node.js 의 웹 프레임워크 중 가장 유명하다. 따라서 다양한 커뮤니티의 도움을 받을 수 있다. 다양한 미들웨어를 통해 필요한 기능을 간단하게 추가할 수 있다. 💨 기본구조 💨 동작 방식 1. app.js var express = require('express'); var app = express(); app.js에서는 expree()로 생성되는 app 객체를 확인할 수 있다. app 객체는 Express.js의 기능을 담은 객체이다. Express.js의 모든 동작은 app 객체에 정의된다. 2. app 객체 주요기능 💨 라우팅 Express.js는 다양한 라우팅 방식을 제공한다. 크게 app 라우팅과 Express.Router 를 통한 라우팅으로 나누어진다.. 5. 웹 프레임워크 💨 웹 프레임워크 1. 의미 웹 => 웹 서비스에 필요한 기능들을 제공해주는 + 프레임워크 => 다양한 도구들의 모음 2. 웹 프레임워크를 사용하는 이유 웹 서비스를 구성하기 위해서는 매우 많은 기능이 필요하고 이러한 기능들을 하나씩 직접 만드는 것에는 큰 비용이 발생한다. 웹 서비스는 많은 부분이 정형화되어있고 프레임워크를 사용하여 정형화된 부분을 간단하게 구현할 수 있어서 필요한 부분만 집중해서 개발할 수 있다. 3. 웹 프레임워크의 기본 구성요소 HTTP 요청 처리 HTTP 응답 처리 라우팅 HTML Templating 1) HTTP 요청 처리 웹 프레임 워크는 HTTP 요청을 처리할 수 있다. 어떤 데이터를 필요로 하는지, 어떤 사용자로부터 요청이 수신되었는지 등 2) HTTP 응답 처리 웹 프레.. 4. Node.js 의 모듈 💨 모듈이란? 프로젝트가 커지면 기능에 맞게 코드를 분리하는 것이 중요하다. 이 때, 모듈은 코드를 분리하기 위한 방법이다. 💨 패키지 패키지는 모듈의 모음이다. npm 패키지들은 많은 모듈을 포함하고 있는 코드 모음이다. 💨 Node.js 의 기본 제공 모듈 - fs - 파일 입출력을 하기 위해 사용한다. - readFile, wrtieFile 함수로 파일 읽기, 쓰기를 한다. - Sync 함수를 제공하고 동기적으로 작동한다. - watch로 파일 / 디렉터리 변경 이벤트를 감지한다. 💨 모듈의 기본적인 작성법 module.exports = { name, age, nationality, }; 모듈이 load 될 때 사용될 값을 module.exports 로 내보낸다. // elice.js module... 이전 1 2 3 다음