Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- W3Schools
- python
- 프로그래밍
- C#
- dynamic
- 파이썬
- 문제풀이
- Programming
- Class
- guide
- c++
- w3school
- 재귀
- 시작해요 언리얼 2022
- parameter
- Basic
- 기초
- Tutorial
- github
- Unreal Engine 5
- Algorithm
- 오류
- Material
- 백준
- dfs
- DP
- Unity
- UE5
- loop
- String
Archives
- Today
- Total
행복한 개구리
팀프 21.07.15. 요청(request) 내용(body)을 Sequelize통해 DB에 생성 본문
Unity/Project : Cursed Treasure
팀프 21.07.15. 요청(request) 내용(body)을 Sequelize통해 DB에 생성
HappyFrog 2021. 7. 15. 17:54https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
JSON.parse() - JavaScript | MDN
JSON.parse() 메서드는 JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성합니다.
developer.mozilla.org
const express = require("express");
const initModels = require("./models/init-models");
const app = express();
app.use(express.json());
const { Op, Sequelize } = require("Sequelize");
const sequelize = new Sequelize("테이블 이름", "사용자 이름", "비밀번호", {
host: "호스트 이름",
dialect: "mysql",
});
const models = initModels(sequelize);
const port = 3000;
app.get("/", (req, res) => {
res.send("Hello Sequelize!");
});
app.listen(port, () => {
console.log(`${port}번 서버 대기중`);
});
app.post("/", async(req, res)=>{
const json = JSON.stringify(req.body);
const pj = JSON.parse(json);
const name = pj.name;
console.log("name : " + name);
await insert(name);
res.send("Post");
})
app.get("/api", async (req, res, next) => {
let json = await connect();
res.send(json);
});
async function insert(name){
const user = await models.user.create({nickname : name});
console.log(user.name);
await user.save();
}
async function connect() {
try {
const users = await models.user.findOne({
where: {id : "1"}
});
let json = JSON.stringify(users);
console.log(json);
return json;
}
catch(err){
console.log(err);
}
}
- app.use(express.json())을 통해 익스프레스의 json을 사용한다.
- 그리고 DB와 연동되는 함수들은 async로 사용함으로써 데이터를 가져오기 전에 출력하는 상황을 방지한다.
- 함수가 실행되면 요청되는 body의 내용을 JSON형식으로 변환한다.
- 변환된 JSON형식의 데이터를 JSON.parse를 통해 파싱한다. => 원하는 항목의 값을 가져오기 위해서.
- 파싱한 데이터에서 원하는 데이터를 비동기함수 insert의 매개변수로 할당한다.
- insert에서 비동기적으로 DB에 할당받은 매개변수를 바탕으로 새로운 데이터를 생성한다.
- insert에서 save를 하며 끝난다.
- 그리고 형식에 맞게 postman에서 Post방식 / body내용을 JSON형식으로 적어둔 뒤 실행한다.
- DB에 데이터가 추가됐음을 확인할 수 있다.
'Unity > Project : Cursed Treasure' 카테고리의 다른 글
팀프 21.07.19. Unity - Node 웹서버 연동 (0) | 2021.07.19 |
---|---|
팀프 21.07.16. Sequelize CRUD (0) | 2021.07.16 |
팀프 21.07.15. Node.js - Sequelize로 DB에 데이터 추가하기 (0) | 2021.07.15 |
Unity3D 팀프 21.06.24 Generic Interface (0) | 2021.06.24 |
Unity 팀프 21.06.10. 이동 발판 (0) | 2021.06.09 |