POSTMAN

YU YU·2021년 7월 19일
0

restful api만들기

목록 보기
1/1

01.Postman이란?

쉽게 RESTful api를 만들 수 있도록 도와주는 프로그램이다.

REST란

Representational State Transfer의 약자로, 인터넷 브라우저에서 쓰이는 언어형식이다. 요청과 응답을 json형식으로 한다. 클라우드 서비스가 활성화되면서 뜨게 된 개념이다.RESTful api란

Postman을 쓰는 이유

front-end와 back-end의 작업 속도가 다를 때가 많다. 원래는 프론트가 반쯤 앞서나가야하는데, 실제로는 백쪽이 더 빨리 진도가 나가는 경우가 많다. 그럴때 back-end는 대강 페이지를 만들고 어떻게 데이터를 처리할지 로직을 짠다. Postman은 그럴때 json으로 정보를 뿌려줌으로써 back-end의 개발속도를 높일 수 있게 한다.

02.Postman 설치하기


postman을 다운받는다.
https://www.postman.com/downloads/


회원가입을 해줘야한다. 구글 계정으로도 가능하다.



캐릭터가 너무너무 귀엽다!!!!!!!


Postman을 쓰면 front-end와 back-end모두 uri가 무슨 역할을 하는지 알 수 있다.


+모양의 탭을 누른다. 그리고 local서버를 실행시키고, 다음과 같이 입력한다.


post로 받는 것을 실행해보자.


내가 썼던 내용 그대로 응답을 받는 것을 확인할 수 있다.

그래서 화면을 기다릴 필요 없이

app.post('/',(req,res)=>{
//db연결하고
await user.create({
userid:req.body.userid,
username : req.body.username,
userpw:req.body.userpw
})

requestmethod type

requestmethod

method설명해당되는 것비고
getdata를 가져올때(R / select)
postdata를 입력할 때(C /insert)
putdata를 수정할 때(U/ update)레코드 전부 수정(드뭄)
deletedata를 삭제할 때(D / delete)
patchdata를 일부 수정(U/ update)레코드 일부 수정
options요청을 체크할 때 씀
headdata를 header만 받아올 때 씀!outh login할 때만 쓰지 않을까...


이렇게 uri도 줄이고 직관적으로 만들 수 있다!

하지만, 효율적으로 작성하는게 최고임.
로그인
게시판 view 같은 경우
이럴때는 애매하니 post나 get으로 한다.

03. Restful api 만들기

로컬에서 시퀄라이즈로 DB 연결하기

1.npm i sequelize sequelize-cli mysql2
2.npx sequelize init (sequelize 폴더 생성)
----config/models/seeders폴더 생성 확인-----
3.config 폴더에서 config.json 수정
4.models 폴더 안에 comment.js 파일 생성 (sequelize 모델 만들기)
5.models 폴더 안의 index.js 파일 수정하기
6.server.js에서 sequelize sycn 맞추기


[comment.js]
const express=require('express');
const bodyParser = require('body-parser');
const app = express();
const db = require('./models/');
const {Comment} = require('./models/index')

app.use(bodyParser.urlencoded(
    {extended:false,}
))

db.sequelize.sync()
.then(console.log('db접속성공'))
.catch(e=>{console.log(e)})



app.get('/',(req,res)=>{
    res.send('hello aws!!!!')
})


app.post('/',(req,res)=>{
    console.log('POSTMAN으로 실행함.')
    res.json(req.body)
})

app.post('/comment',async(req,res)=>{
    console.log('POSTMAN으로 실행함.')
    let {userid,username,userpw}=req.body
    console.log(req.body);
    await Comment.create({
        userid,username,userpw,
    })
    
})


//회원정보 수정 url
app.patch('/user',(req,res)=>{

})

//회원탈퇴 url
app.delete('/user',(req,res)=>{
    
})

app.listen(3003,()=>{
    console.log('server 3003 start')
})

[index.js]
'use strict';

const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};
const comment = require('./comment')

let sequelize;
if (config.use_env_variable) {
  sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
  sequelize = new Sequelize(config.database, config.username, config.password, config);
}


db.Comment = comment(sequelize,Sequelize);
// db.Commnet = require('./comment')(sequelize,Sequelize)

Object.keys(db).forEach(modelName => {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;


[server.js]
const express=require('express');
const bodyParser = require('body-parser');
const app = express();
const db = require('./models/');
const {Comment} = require('./models/index')

app.use(bodyParser.urlencoded(
    {extended:false,}
))

db.sequelize.sync()
.then(console.log('db접속성공'))
.catch(e=>{console.log(e)})



app.get('/',(req,res)=>{
    res.send('hello aws!!!!')
})


app.post('/',(req,res)=>{
    console.log('POSTMAN으로 실행함.')
    res.json(req.body)
})

app.post('/comment',async(req,res)=>{
    console.log('POSTMAN으로 실행함.')
    let {userid,username,userpw}=req.body
    console.log(req.body);
    await Comment.create({
        userid,username,userpw,
    })
    
})


//회원정보 수정 url
app.patch('/user',(req,res)=>{

})

//회원탈퇴 url
app.delete('/user',(req,res)=>{
    
})

app.listen(3003,()=>{
    console.log('server 3003 start')
})

이렇게 작성하고, postman에 다음과 같이 하면 db에 넣어진다.



sequelize로 만들면, 소문자로 변하면서 끝에 s가 붙는다. 그래서 위의 코드에서도 comment로 만들었는데, 실제 db에는 comments 테이블로 바뀌면서 db에 정보가 들어간다.

profile
코딩 재밌어요!

0개의 댓글