티스토리 뷰
Express.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send("getting root");
})
app.get('/profile', (req, res) => {
res.send("getting profile");
})
app.post('/profile', (req, res) => {
const user = {
name: "Sally",
hobby: "soccer"
}
res.send(user)
})
app.listen(3000); // port
express는 한줄 한줄 읽어서 시행한다. 첫 번째 요청의 경우 get method를 사용하여 그 url을 요청할 경우 {}
안의 작업을 보내주도록 한 것이다. 정말 말 그대로의 함수. get
, post
, put
, delete
method를 사용할 수 있다.
Express Middleware
const express = require('express');
const app = express();
// Middleware without calling next
app.use((req, res, next)=> {
console.log("Hello");
})
app.get('/', (req, res) => {
res.send("getting root");
})
app.listen(3000);
위처럼 app.use
를 시행하면 터미널에 "hello"만 찍힐 뿐, localhost는 계속 로딩을 한다. Middleware는 이름에서 유추할 수 있듯이 중간에 이를 거쳐서 내려가야 한다는 것이고, 이를 거쳐서 내려가기 위해선 next
parameter를 불러야 한다.
const express = require('express');
const app = express();
// Middleware calling next
app.use((req, res, next)=> {
console.log("Hello");
next();
})
app.get('/', (req, res) => {
res.send("getting root");
})
app.listen(3000);
위처럼 next
를 불러주면 그제야 localhost에서 "getting root"를 보내준다.
POSTMAN
postman을 사용하면 post request를 사용할 수 있다.
post request는 get과 달리 body에 데이터를 전송할 수 있다. postman을 통해 key는 name, value은 wow라는 데이터를 send했다.
그러나 그냥 요청하면 undefined가 찍힐 뿐이다.
이를 해결하기 위해 추가적인 패키지가 필요하다. body-parser
라는 패키지를 설치한 후 이를 import해주고, 아래처럼 Middleware를 사용하여야 한다. (Content-Type
은 application/x-www-form-urlencoded
)
const express = require('express');
const bodyParser = require('body-parser'); // 설치한 body-parser를 import
const app = express();
app.use(bodyParser.urlencoded({extended: false})); // Middleware
app.post('/profile', (req, res) => {
console.log(req.body); // body의 데이터를 요청
const user = {
name: "Sally",
hobby: "soccer"
}
res.send(user)
})
app.listen(3000);
그러면 터미널에 데이터가 찍히는 것을 볼 수 있다.
json을 보내는 것도 가능하다. raw로 들어가서 json을 선택하면 된다.
그냥 send하면 빈 오브젝트를 리턴한다.
아래처럼 json을 parse하도록 추가해준다. 그러면 json을 리턴한다.
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
// Middleware
app.use(bodyParser.urlencoded({extended: false})); // urlencoded parse
app.use(bodyParser.json()); // json을 parse하도록 함
app.post('/profile', (req, res) => {
console.log(req.body); // body의 데이터를 요청
const user = {
name: "Sally",
hobby: "soccer"
}
res.send(user)
})
app.listen(3000);
'공부일지(TIL) > JS Framework + Library' 카테고리의 다른 글
jQuery의 Ajax API (0) | 2019.06.13 |
---|---|
[React] 유튜브 Data API(v3)를 활용한 비디오 렌더링 - 3 (0) | 2019.06.02 |
[React] 유튜브 Data API(v3)를 활용한 비디오 렌더링 - 2 (0) | 2019.06.02 |
[React] 유튜브 Data API(v3)를 활용한 비디오 렌더링 - 1 (1) | 2019.06.02 |
render, state (0) | 2019.05.20 |
- Total
- Today
- Yesterday
- 깃
- 개발 공부
- useEffect
- oracle
- 알고리즘
- CSS
- Java
- jQuery
- getter
- Redux
- Prefix Sums
- Data Structure
- rxjs
- linkedlist
- SQL
- 포인터 변수
- c언어
- react
- youtube data api
- JavaScript
- 자바
- 인스턴스
- til
- 리덕스
- this
- Conflict
- Session
- package.json
- GIT
- 제네릭스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |