쉽게 RESTful api를 만들 수 있도록 도와주는 프로그램이다.
Representational State Transfer의 약자로, 인터넷 브라우저에서 쓰이는 언어형식이다. 요청과 응답을 json형식으로 한다. 클라우드 서비스가 활성화되면서 뜨게 된 개념이다.RESTful api란
front-end와 back-end의 작업 속도가 다를 때가 많다. 원래는 프론트가 반쯤 앞서나가야하는데, 실제로는 백쪽이 더 빨리 진도가 나가는 경우가 많다. 그럴때 back-end는 대강 페이지를 만들고 어떻게 데이터를 처리할지 로직을 짠다. Postman은 그럴때 json으로 정보를 뿌려줌으로써 back-end의 개발속도를 높일 수 있게 한다.
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
method | 설명 | 해당되는 것 | 비고 |
---|---|---|---|
get | data를 가져올때 | (R / select) | |
post | data를 입력할 때 | (C /insert) | |
put | data를 수정할 때 | (U/ update) | 레코드 전부 수정(드뭄) |
delete | data를 삭제할 때 | (D / delete) | |
patch | data를 일부 수정 | (U/ update) | 레코드 일부 수정 |
options | 요청을 체크할 때 씀 | ||
head | data를 header만 받아올 때 씀! | outh login할 때만 쓰지 않을까... |
이렇게 uri도 줄이고 직관적으로 만들 수 있다!
하지만, 효율적으로 작성하는게 최고임.
로그인
게시판 view 같은 경우
이럴때는 애매하니 post나 get으로 한다.
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에 정보가 들어간다.