오도원입니다.

건강과 행복을 위하여

프로젝트/니랑내랑

REST API 2. POST method, postman, JSON viewer 사용

오도원공육사 2020. 2. 20. 17:47
반응형

1. JSON viewer

json viewer chrome extenstion으로 다운받으면 된다.

훨씬 보기가 깔끔하다.

 

2. postman

우리가 www.google.com이라는  url로 접근하는 것은 구글의 GET method를 통해 들어가는 것이다. POST를 하기 위해서는 직접적으로는 할 수 없다. 이것을 간편하게 보기위해 postman 어플리케이션을 사용하면된다.

 

postman을 사용하면 GET, POST, PUT, DETETE를 통해서 송수신 되는 json 객체들을 쉽게 관찰할 수 있다.

3. POST method

const express = require('express');
const server = express();
const bodyParser = require('body-parser');

server.use(bodyParser.json());

const users = [
    {
        id : 'dhehdnjs',
        name : 'ohdowon',
        email : 'ohdowon123@naver.com'
    },
    {
        id : 'djawjdqls',
        name : 'umjungbin',
        email : 'umjungbin456@html.com'
    }
];

server.get('/api/user', (req, res) => {
	res.json(users);
    console.log(users, 'data is transfered by GET method');
});

server.post('/api/user', (req, res) => {
	users.push(req.body);
    res.json(users);
    console.log("user is pushed", users);
});

server.listen(3000, () => {
	console.log('The server is running');
});

 

톺아보기

 

1. body-parser

const bodyParser = require('body-parser');
server.use(bodyParser.json());

body-parser 모듈을 가져온다. 이 모듈의 json() 함수를 통해 미들웨어를 등록하면 server객체(express()를 통한 application객체)가 req.body로 들어오는 모든 json 포맷의 데이터를 읽을 수 있도록 만든다.

 

2. server.get

server.get('/api/user', (req, res) => {
    res.json(users);
    console.log(users, 'data is transfered by GET method');
});

클라이언트에서 GET방식으로 /api/user endpoint로 요청이 왔을 때 해당 콜백함수를 실행시킨다. users 객체를 전송한다.

 

3. server.post

server.post('/api/user', (req, res) => {
    users.push(req.body);
    res.json(users);
    console.log("user is pushed", users);
})

users에 사용자로부터 입력된 req.body에 있는 데이터를 push한다.

 

현재 데이터
데이터 전송
추가된 것을 확인할 수 있다.

반응형

'프로젝트 > 니랑내랑' 카테고리의 다른 글

REST API 4. MongoDB cluster 생성하기  (0) 2020.02.21
REST API 3. Update와 Delete  (0) 2020.02.20
REST API 1. REST API란?  (0) 2020.02.20
Express 10. 라우터 분리하기  (0) 2020.02.20
Express 9. Error Handling  (0) 2020.02.19